Wed, 2 Sep 2009

12:04 AM - Snow Leopard and 64bit Kernel

Apple made a big deal about the capabilities of Snow Leopard (10.6).  Systems typically boot a 32bit kernel, even in 10.6.  You can check by going to System Preferences and then click on software.  If you see 64bit kernel and extensions: Yes, then you know you're in a 64bit kernel.

To test out the 64bit kernel, hold down 6 and 4 keys when booting your Mac.  It will load a 64bit kernel if your system supports it.  You can also explicitly hold down 3 and 2 to get a 32bit kernel.  On the Apple Xserves, it defaults to a 64bit kernel.  Several sites report that Macbooks will only run 32bit kernels.

To keep your system in 64bit mode, try the utility discussed at this website: http://www.ahatfullofsky.comuv.com/English/Programs/SMS/SMS.html

Many device drivers such as the wacom tablet kext, vmware and parallels run in 32bit mode right now.  Don't expect miracles.  These programs will need to be updated to take advantage of 64bit computing.  

Finally, you might be wondering what the big deal is about 64bit computing.  The basic idea is that computers were limited to 4GB of RAM due to the nature of the processors they run.  Most processors since the 386 support 32bit applications.  Some might even remember the hype around Windows 95 which was one of the first operating systems to run anything in 32bit mode in the PC world.  The key here is 32 bits.  An integer is 32 bits long.  This size limit also affects what programmers call pointers.  A pointer "points" to a location in memory.  Think of it like a child pointing to his little sister hiding in the corner.  Since that number is limited in size, it can only point to so many memory locations.  In the PC world, this limit is further reduced by things that have to get mapped into this address space like video cards.  Anyone who's run windows vista on a PC with 4GB of RAM (32bit) will know that 3GB-3.5GB of RAM is all that you can use.  Even worse, most programs are limited to 2GB of RAM or less.  With a 64bit kernel, the size of these pointers has been increased.  That means the computer can allow access to a lot more RAM both to individual programs as well as the entire computer.  It solves the problem for several years.  This is not the first time we've seen this happen.  Older processors could address even less memory.  Besides this obvious improvement, there are many other features on these processors.  They include extra memory on the CPUs as well.  These temporary pieces of memory are called registers.  Without boring you further, just think of it as extra temporary slots or variables that the CPU can use at the same time without using your regular RAM.  It makes them much faster.  There is a catch though.  In 64bit mode, pointers and other parts of programs are much larger.  That means the cache on your processor (another kind of memory) will get used up faster.  Some types of programs might actually run slower because of this.   

You might be wondering why there's all this memory.  Just remember that computers have two main kinds of memory, permanent and temporary.  A hard drive, cd-rom disc, flash drive, or other media is permanent because it's still there when you turn off the computer.  The remaining types get cleared when the computer is turned off.  This includes random access memory (RAM) on the motherboard (main memory that you would see in an add like 4GB DDR2); L1, L2, and L3 cache on processors, GDDR3 RAM on your video card, etc.  Cache memory is much more expensive, but faster than main memory.  Each level is faster than the previous with L1 as the fastest.  Part of what makes it fast is that it's not a lot of memory and it's structured differently.    

()

Tue, 1 Sep 2009

5:26 PM - First thoughts on Mac OS 10.6

I got my copy of Snow Leopard today and promptly installed it.  The upgrade process was smooth.  I recovered about 17GB of free space between the improvements in snow leopard and it's ability to find a "dead" mobile me idisk.  Actually strike that.  I just remember that OS X now uses a different meaning for GB for disks now.  (base 10 instead of base 2).  

Some things do seem quicker, but I'm not fond of the gamma change.  It's dark and dreary like windows now.  The new highlight feature when right clicking on a dock item is very annoying and reminds me of vista.  I suspect they were trying to emphasize the dock items, but it's overkill.  I keep thinking why did the screen go dark, especially with the black menu now.  

Mail.app did a quick upgrade on my mail.  Considering the amount I have, it was painless.

Keychain detected an old version from long ago.  I just had to enter an old password; good thing I could remember it.  

I've seen some quirks with my IRC client.  The popup windows to tell me about the connection to the server won't go away.   I have to manually click each one.  In 10.5, i could just bring the app into the forground to get rid of them.

 

()

Fri, 28 Aug 2009

2:21 PM - What to build

We're finally getting an opportunity to co-locate a server for MidnightBSD.  A friend of mine works at a hosting company in Lansing.  He's made some arrangements for us to colo a box.  However, I'm not sure what to build.  

Right now I have some spare parts lying around such as a Core 2 Duo 2.13Ghz processor, Intel DP965LT motherboard, 2.5GB of RAM and a 250 watt power supply.  I've also got a video card somewhere.   At a minimum, we'd need a case and hard drives. He's concerned about the CPU performance.  The current system is mostly idle, but we would have more bandwidth available at the new provider.  My motherboard can't  handle any quad core newer than the Q6600 (FSB limitations).  

My gut feeling is to put money into RAM and disk instead of going for a better CPU.  Of course, I also don't know what I'm going to do with this stuff.  With new systems at best buy coming with 2-6GB of RAM, it doesn't seem like a lot.  

I guess it all depends what services we're moving.  For instance, if the Magus database were to go on that box, I think we should consider a faster CPU.  

()

Thu, 27 Aug 2009

1:49 PM - The problem with BSD on the desktop

Like many BSD developers, I'm forced to use other operating systems for other tasks.  Well that's not entirely accurate.  I like to use many operating systems, because I have a passion for them. But, at the same time I try to improve the BSD experience to get my own work done.  If I can get to a point that most of my tasks can be done within BSD and just run a VM for the few things I need to do in windows, great. 

This creates a few problems though.  First, I need to actually get a decent VM running on MidnightBSD.  Porting virtual box has been very slow.  Qemu has never been fast enough for my tastes.  VMware won't run at all.  Second, I need to come up with programs that can replace existing software I use or port that software when possible.  Today, I just ported the mysql administrator and query browser tools to MidnightBSD.  That's one less thing I need to worry about.  We still need openjdk so I can do work.  Firefox is running but it's only 3.0.x and I can't even call it that.  

()

Sat, 15 Aug 2009

12:05 AM - Happy 20th birthday Genesis

http://blogs.sega.com/usa/2009/08/14/happy-20th-birthday-sega-genesis/ 

I still remember when I got my Sega.  I was living in Clio.  Got it for Christmas.  It was the first generation with sonic the hedgehog.  I think it had been out 2-3 years by then.  I had rented one from the local video store several times.  I told my mother I wanted a genesis or snes and she went with the cheaper of the two.  Back then, a genesis cost 129.99.  

I just looked up the release date of Sonic the Hedgehog.  it was June 23, 1991. 

 

()

Fri, 7 Aug 2009

1:43 PM - Tag balancer

http://nekohtml.sourceforge.net/

This is a java based HTML "fixer" that can make HTML valid in an xml parser.  It looks rather interesting.

()

Sat, 1 Aug 2009

Wed, 29 Jul 2009

11:52 AM - (no subject)

Is this the end of web search competition?  Microsoft and Yahoo have inked a deal to use Microsoft's Bing search engine on yahoo.com.  That means Microsoft has won.  This is the foothold Balmer has wanted in search and marks the end of his massive attention to search.  That means, Microsoft can focus on other attacks against Google or other sectors again. 

The deal is terrible for yahoo.  The CEO must not understand why the previous people in her position did not want a deal with Microsoft.  Search was the only thing yahoo really had.  Portals come and go.  They won't have a product for ten years.  There's no way they can recover and eventualy Microsoft will steal the portal users to their own websites.  It's a very bad move for Yahoo.  I feel bad for the engineers at Yahoo that will be fired.

 

tags: evil search google microsoft yahoo

()

Tue, 28 Jul 2009

2:41 PM - When the "whole" internet is slow

I've been trying to figure out a network problem at home for over a week.  It's difficult because I don't have proper testing equipment.  I just have to guess.  I've narrowed down a few things.

FIrst, ping traffic to the router has been very slow.  It's also a bit laggy to the switch.  Directly pinging other systems on the switch is fast.  I've also looked at the port statistics on the switch and noticed a lot of CRC errors (for a switch) on the router port. The link is only 100/full but flow control was disabled.  I've since enabled flow control and rebooted the switch.  We'll see what happens.  The network cables are all from the same batch of belkin cat5e that I bought with the switch.  I'm wondering if I should buy some cat6 cables for some of the systems.  In theory, it shouldn't matter with the router because it's not running at gigabit speeds.  The fact that the link is slower than most of the network could be a problem though.

At first, I thought it might be the cable connection.  However, the errors in the logs happen infrequently and are common for cable modems.  The upstream signal is a bit high but still within acceptable parameters.  

()

Sun, 26 Jul 2009

6:33 PM - My life according to Jewel

Using only song names from ONE ARTIST, cleverly answer these questions. Pass it on to at least 15 people and include me. You can't use the band I used. Try not to repeat a song title. It's a lot harder than you think! Repost as "my life according to (band name)"

Pick your Artist:
Jewel

Are you a male or female?
Fat Boy

Describe yourself:

Love Me, Just Leave Me Alone


How do you feel:
Doin' Fine

Describe where you currently live:
Leave the Lights On

If you could go anywhere, where would you go:

The New Wild West


Your favorite form of transportation:
Race Car Driver

Your best friend is:
Raven

What's the weather like:
Good Day

Favorite time of day:
Morning Song

If your life was a TV show, what would it be called:
Foolish Games

What is life to you:
Life Uncommon

Your fear:
Abesense of Fear

What is the best advice you have to give:

Everybody Needs Someone Sometime


Thought for the Day:
Do you want to play?

How I would like to die:

Till We Run Out Of Road


My soul's present condition:
Down

My motto:

I Won't Walk Away

()

Fri, 24 Jul 2009

1:50 PM - Women like porn?

According to an article I just read, one in three visits to adult websites are by women.   That means we can't take heat anymore if we do look at porn.  Women do it too. (duh)

()

Wed, 15 Jul 2009

6:23 AM - Google's Chrome OS

CNN has an article on what google must do to make Chrome OS successful.   I don't agree with all the points in the article.  Apple has no incentive to port iTunes over to Linux.  Not only would they need to port iTunes, but Quicktime as well.  The latter is the real problem.  It's not easy to get a multimedia application like quicktime to work.  Apple would need to license codec use and ship a binary product on a platform full of GPL'd code and open source fans.  

Commercial applications have not done well on Linux as many users have philosophy issues with these licenses.  One could argue that Chrome OS targets a whole new audience, but we heard that about netbooks and now they've failed (with linux).  

Apple does want an alternative to windows, it's called Mac OS.  Helping a rival take market-share from you makes no sense.  Apple could justify porting iTunes over to windows because they could sell music and videos to a very large customer base;  the hardware sales of iPods and iPhones helped too.  For the chrome os port to work, apple would need to support iPods and iPhones on linux as well.  

The next problem is that the article made a big point about usability and changing the interface.  If you think that users hate applications that look different, why would Google's Chrome OS be any better?  Instead of starting a friendly application, they have to open a browser (or it's always open) and click on web pages to play a song!  I just don't see that happening.  I think it's worse than telling a user open firefox for "the internet" and thunderbird for "email".  Users memorize icons or program names, and "screens".  As someone working on this problem, I can tell you that it's very difficult to get someone to try out a new system, let alone switch to it on a daily basis.  

Finally, the business model makes little sense.  When Microsoft sold DOS and Windows for PCs, it was for all PCs.  It was risky in the sense they were shipping a system on a new competitor to Apple, but it still targeted a (eventually) large user base.  Google is making an OS for one type of computer that many fall out of fashion much like the PDA has.  You don't see 20 PDAs at your local best buy or walmart anymore.  Now it's smart phones or mp3 players or even handheld video game consoles that fulfill these duties.  As netbooks get larger, they blur on the traditional laptop.  Many netbooks are now near 12 inches.  Some years back, that was a very common size for a laptop.  It was entry level from apple, and midrange for PC vendors.  Netbook means cheap laptop that's slow now.  Eventually the CPUs will catch up and they'll just be cheap laptops.  For the same reasons as the article site with Linux, do you think a non-windows (or mac) OS can actually gain momentum in such a market?

tags: chrome google os

()

Wed, 8 Jul 2009

10:33 PM - (no subject)

 Today was an interesting day at work.  I managed to get Cayenne working properly for a Project -> User mapping through some intermediate tables.  There were few tricks involved.  First, I had to modify the User class within Cayenne to explicitly have a mapping for the Primary key.  This allows you to do an Expression.fromString and refer to the primary key.  Second, I had to do a double mapping using the relationship name between the project and the mapping table then the mapping table to user table relationship.  The context had to be the name from the project end and from the mapping table end to the user table.  (left to right... )  

One problem I had early on was that we also have a user_id stored as the "owner" with a relationship in the project table.  That means there's a direct relationship and an indirect relationship between project and user.  

The idea here was to map all the projects that the User can access.  The mapping table contains a PK, user_id and project_id.  A user can potentially access many projects.  We knew the user id of the user logged in from the session (username would work too and require less work, but could not benefit from the database indexes).  

This sounds trivial, but there is almost no documentation on something like this with Cayenne.  Those apache developers need to get up some real examples of Cayenne apps.  

tags: java apache cayenne db mysql

()

Mon, 6 Jul 2009

11:25 PM - Is Linux ready for the desktop?

Last Thursday, I setup a Linux box at work.  The idea was that it would at least be a bit more like a Mac or BSD box that I'm accustomed to.  Doing non windows development on a PC is painful without a UNIX like OS to me.  I just use a terminal too much.

So, I installed Ubuntu (the preferred distro at work) on a desktop system with an Intel Pentium D 3.2Ghz CPU and 2GB of RAM.   Day to day operation has been quite stable.  I haven't had any serious application crashes, lags, and power management has been working perfectly.  I can put the system to sleep better than Windows XP has ever worked for me.  All of the hardware I care about works.  I haven't bothered to test the sound.  

Even though I'm a BSD fan, I feel that I have to complement the linux community for progressing so far.  There is one issue I have with Ubuntu though.  There are some serious problems with their package management setup.  I'm not complaining about the tools, but rather the availability and quality of packages.  Midori crashes every time I try to use it and I think it's a mismatched webkit version.   Midori even works well on MidnightBSD, I'm not asking for a lot here.  Now that's one package, but there could be many others.  With a user interface that simple and the amount of help and money that project has at it's disposal, I expect more.  I know what we do with practically nobody.  The second problem is more general.  I could not install a JDK from their tools.  Due to the requirements, I needed a real JDK and not gcj.  A JRE was available, and that's fine for someone like my mom, but I need a java compiler.  I don't think it's too much to ask to expose the option in the GUI when it's possible from the command line.  Yes, I'm smart enough to go CLI, but what about a new computer science student trying to do a homework project?  This is a 2 click operation in windows and it comes with Xcode on the mac.  It's just easier on the first two platforms.  

I think some Linux distros are at the point that everyday folks could use them for basics at home.  They need some more polish, but that can happen.  

I still like our package management and ports system better, but we don't have those gui tools yet.   Still, considering microsoft doesn't have an installer like that for apps, it's certainly possible for linux to get marketshare.  It's it weird that microsoft has the best uninstaller (add/remove programs), but not a good "selector" for apps to install.  It's possible on windows, as you can see with Steam for games.  What if there was something like steam, but for apps?  

So, that means I need to set the bar higher for the BSD projects; mine in particular needs some real progress on the usability front.

()

11:18 PM - Cayenne and Joins

I've been experimenting with Apache Cayenne for work.  Earlier today, I got stumped by a complex database relationship in terms of Cayenne.  I can easily write a six table join to accomplish the query, but i wanted to find an object mapping approach instead.

I've learned several things about Cayenne.  First, it does not support outer joins from the built in object mapping.  It's possible to create outer and left joins with either SQLTemplate or performing a JDBC query directly.  

A SQLTemplate is a method to write a "real" SQL statement and either execute it as a non returning query or a select mapped to an existing Cayenne object.   You can even have it return raw rows back.  My first thought was that it would suck to do that because you'd lose the auto generating code for multiple database feature.  Actually, you can write alternate manual queries and register them for each major JDBC provider.  You write a generic default one that can work in most cases and then a tuned version (or whatever) for a specific database.   

The other option is to write a direct JDBC query and circumvent most of Cayenne.  You can still use it's database connection pool though.

DataSource ds = context.getParentDataDomain().getNode ("mydatanode").getDataSource(); Connection c = ds.getConnection();

tags: cayenne sql database

()

Sat, 4 Jul 2009

1:31 AM - Netflix problems

I noticed a rather interesting bug today.  I got an out of memory error while streaming television shows in netflix.  I watched a movie that was just under 2 hours long.  It worked perfectly.  Then I started to stream a tv show.  About five minutes into the stream, it stopped with the error and told me to reboot.  I observed over 66% memory usage at that point for the system.  I restarted IE and found memory usage was back down to 27%.  I was then able to stream the show.  At the end of the episode, I observed 48% memory usage.

Since netflix uses silverlight, i can only assume there's a memory leak in silverlight or in the controls for the page.  However, as it gets worse during the stream it makes sense that it's silverlight.  Other interesting bits are that it does not seem to happen on my mac, although there are streaming problems at times.  This is the first time I've seen this error, but I don't typically stream a lot.  The other possible explanation is the new configuration in my computer is related to the problem.  I had an ATI X1900 and now two 4550s in crossfirex.  It could be something to do with the hardware acceleration or the crossfire configuration wasting extra memory.  I noticed some odd lines in the video for the show but not in the movie.  That could be the encoding too.  It was a british tv show. 

While I'd like to squarely blame microsoft or netflix, I'm not sure what the exact problem is.  Futher research on the web shows that many other people have reported problems.  Most people say that it doesn't occur on the mac, only vista boxes.  Others reported a correlation to amd cpus.  There wasn't enough feedback to verify that.  Macs do have intel cpus.. if there is a different path in the decoder for amd chips, it's certainly possible a leak exists.  For instance, maybe they use some amd specific instructions (incorrectly). 

()

12:04 AM - Swing Vote

 Caryn went to bed a few hours ago.  I decided to stream a movie on netflix.  Oddly enough, I chose to watch Swing Vote.  Like most people, I thought the movie looked stupid from the previews.  I had every intention of stopping the film twenty minutes into it.  I was just curious how bad it was.  A few minutes ago, I finished the movie.  The premise was flawed, but it was still entertaining.  The movie was just as much about the main characters relationship with his daughter as it was about the vote.  I suppose the movie was interesting to me as my father was rather disconnected during parts of my life.   I don't think that movie would appeal to everyone.  

One thing about the film I didn't like was that they never explained who he voted for.  I'm sure it was supposed to be a grand point about the process and that votes matter. I just found it to be a movie... and as such a conclusion is nice.  I think the family story had a conclusion. 

()

Fri, 3 Jul 2009

6:04 PM - ATI Crossfire with 2 4550s

I purchased two ATI Radeon HD 4550s recently.  These cards are designed at the segment between gamers and non-gamers.  The cards feature low energy consumption (20 watts max) and do not require pciE power connectors (from the power supply).    

My system uses an Asus motherboard that supports CrossfireX with a x16 and x4 pci express 2.0 slot configuration.  I have a 380 watt 80 plus certified Antec power supply and a quad core AMD Phenom 2.3Ghz (9600) with 3GB of RAM.  

My hope was that the new crossfire configuration would be at least as fast as my previous X1900 card that no longer gets driver updates.  WIth Windows 7 just around the corner, I needed a card that would be supported. I also wanted to experiment with CrossfireX. 

Crossfire is the technology to take two graphics cards and use them together to display an image on one (or two) monitors.  Each graphics card individual could run two displays.  

Now for the performance characteristics.

Enemy Territory:  1280 x 1024 

x1900:  90fps ~ 
4550 (crossfireX on):  30-60 FPS

World of Warcraft:
x1900: (custom settiings similar to high)   30-60fps

4550(2):  15fps .. at medium settings 27fps

Quakewars:

x1900:  ~30 fps  at 1680 x 1050

4550(2): 15-30  (4x AA works though.. frame rate doesnt' change with it on or off)

The amazing part is that the system uses less power by a few watts with the new crossfirex configuration.  It's using about 120.7 watts while playing world of warcraft with the new setup in Vista Ultimate 32bit with power management software (from asus) enabled.  

()

Thu, 2 Jul 2009

12:40 AM - (no subject)

 This year, we have a few anniversaries; think Unix.  At the same time, Asus is dropping Linux on their netbooks.  The original was born 40 years ago, and the inferior copy is losing it's chance on the desktop. I know you're thinking FUD, but consider that the eee pc was the biggest introduction people had to Linux outside geek circles.  I suspect it would have done better with a standard looking desktop (KDE or Gnome?).  Ubuntu would have even been an improvement.  

Then there's the GPL v3 license.  Quite a few projects are selecting it and there's growth of code in other licenses such as the BSD or MIT licenses.  It does place BSD fans in a position.

I just read that Apple is already working on iPhone OS 3.1.  

()

Tue, 30 Jun 2009

10:50 AM - (no subject)

I'm finding that I'm getting a lot more tech support requests for just journal lately.  It's on the magnitude of several a week.  If this keeps up, I may just have to fix some things.

()