Archive for the ‘Software Applications’ Category.

K-3D 8 Released!

Hey all,

For those of you who want to work with 3D drawing and animation and can’t afford to buy one of the expensive 3D programs, K-3D is 8 just released.

Get it here:
http://www.k-3d.org/downloads

Differences between the BSD/FreeBSD Copyrights and the GNU Public License (GPL)

The FreeBSD Copyright and the BSD Copyright

You may notice that FreeBSD uses the term Copyright while GNU uses the term License.
http://www.freebsd.org/copyright/copyright.html

The FreeBSD Copyright is free as in you don’t have to buy a license but you can do pretty much anything. The BSD Copyright is almost the same.

What you can do:

  1. Use it at home for no cost.
  2. Use it at work for no cost.
  3. Use it at work for a publicly accessible server that you make money on for no cost.
  4. Add or change code at no cost.
  5. Distribute the entire source code at no cost.
  6. Distribute the entire source code with your changes at no cost.
  7. Build binaries at no cost.
  8. Distribute binaries with your source at no cost if you also give it away at no cost.
  9. Distribute binaries without also distributing the original source and your changes.
  10. Write code that uses or links to this code and license your new code however you want.
  11. Embed the binaries in software you sell, at no cost, even if you don’t provide the source.

Note: This list was created by me based on my understanding of what people would want to do with the code.

Do I need a lawyer?
No. Basically, there is almost no instance in which you have to pay a fee to anybody to use a FreeBSD Copyrighted or BSD Copyrighted piece of code.

However, while 100% free in cost to use it, it is not 100% free. Notice I italicized the word almost in the above sentence.

For the FreeBSD Copyright, also known as the New BSD Copyright, there are two requirements you must meet.

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

And for the BSD Copyright, there are four requirements listed, but as mentioned on the BSD Copyright web site, the third requirement is no longer required.

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

This product includes software developed by the University of California, Berkeley and its contributors.

4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

So you can do anything you want with FreeBSD licenses and BSD licenses at no dollar cost, but you have to spend some time and resources to make sure you display some text as required.

I guess if you didn’t want to follow the 2 or 4 steps, you could find someone to pay so you didn’t have to, but the steps are so simple I doubt anyone would choose to try to license the software to not have to follow these steps.

The The GNU Public License or GPL

The The GNU Public License or GPL is not completely different but yet don’t be fooled. It is not the same and is far more restrictive than most realize. And it is harder to explain or describe, especially since there is GPLv1, GPLv2, GPLv3, and I am not even discussing the LGPL here.

You can get more info here:
A Quick Guide to GPLv3

What you can do:

  1. Use it at home for no cost.
  2. Use it at work for no cost.
  3. Use it at work for a publicly accessible server that you make money on for no cost.
  4. Add or change code at no cost.
  5. Distribute the entire source code at no cost.
  6. Distribute the entire source code with your changes at no cost.
  7. Build binaries at no cost.
  8. Distribute binaries with your source at no cost if you also give it away at no cost.

Do I need a lawyer?
For home use, no.
For a business, yes.

If you are doing anything NOT on the above list, you probably need to involve a lawyer. If you stick to the above list, then no, you probably don’t need a lawyer. However, the GPL is so long and wordy you may need a lawyer to determine if you need a lawyer.

The Difference between the BSD/FreeBSD Copyrights and the The GNU Public License or GPL

The first noticeable difference is that the FreeBSD Copyright is 25 lines (when wrapped at 78 characters with some lines blank due to section separation) while the GPL is 339 lines (when wrapped at 78 characters with some lines blank due to section separation). So it is much more difficult to learn and understand the GPL and there is a higher likelihood to take a wrong step.

The following items were removed these from the GPL’s can-do list because you can’t do them without permission from the author, which most likely will come at a cost but not always. Sometimes, the author will just say, “Yes, you can use it in your proprietary software” and sometimes they will charge a fee. However, even in those instances you probably need to pay a lawyer to draft and agreement and get it signed. However, one problem with GPL is that there are usually many different authors and so obtaining such permission becomes impossible.

  1. Distribute binaries without also distributing the original source and your changes.
  2. Write code that uses or links to this code and license your new code however you want.
  3. Embed the binaries in software you sell, at no cost, even if you don’t provide the source.

Lets put this in a table:

What you can do? BSD/FreeBSD Copyright GNU Public License or GPL
1. Use it at home for no cost. x x
2. Use it at work for no cost. x x
3. Use it at work for a publicly accessible server than you make money on for no cost. x x
4. Add or change code at no cost. x x
5. Distribute the entire source code at no cost. x x
6. Distribute the entire source code with your changes at no cost. x x
7. Build binaries at no cost. x x
8. Distribute binaries with your source at no cost if you also give it away at no cost. x x
9. (Commercial) Distribute binaries without also distributing the original source and your changes. x
10. (Commercial) Write code that uses or links to this code and license your new code however you want. x
11. (Commercial) Embed the binaries, without a license fee, in software you sell, even if you don’t provide the source. x

Conclusion

For use at home or work or school or play
In all practicallity there is no difference to a home user between the BSD/FreeBSD Copyrights and the GPL.

For Free Distribution
There is one slight difference in free distribution. Any code you write that uses GPL code must be GPL too. With the BSD/FreeBSD copyright, that is not the case. If you write software that uses or links to BSD licensed software, you can still choose your own license.

For Commercial and Enterprise Use
This is where the difference mainly resides between these two licenses.

For use internally for an enterprise or any use that doesn’t distribute the code, there is no difference.

However, when it comes to including the code or a binary in software that you sell, you are not free to do so. The BSD/FreeBSD Copyrights are much more business and enterprise friendly.

DISCLAIMER

I am not a lawyer. I am not responsible in any way for the misuse of a license based on this post, even if the post is has some piece of data that is blatantly wrong. It is the responsibility of the user of licensed or copyrighted software to make sure the license agreement or copyright is adhered to properly.

K-3D 0.8.0.0 is not yet released but it is now compiling and working on FreeBSD 8

K-3D 0.8.0.0 is not yet released but it is now compiling and working on FreeBSD 8…I hope to help update the port as soon as the final source is released.

The developers at K-3D are great. So I have been working with the developers at K-3D to get things working well for FreeBSD 8 on their new version. They have been patient and willing to work with me. There have been some bumps, but it is now working pretty well.

Anybody who is working in 3D animation should check out K-3D. If you are looking for a free 3D animation program, it doesn’t get better. I tried other open source 3D applications and didn’t find them any where near as easy to use nor anywhere near as intuitive. I also have it running on Windows 7.

One of the coolest features about K-3D is the ability to have a scripted tutorial. It is not just a video, it actually moves your mouse and really demonstrates using the application. Go to Help and select Tutorials and choose the “Creating a mug” tutorial and watch it move your mouse and really create a 3D mug.

If you have used or maybe after you read this post you decide to use K-3D, then take a moment and either buy some swag from them or donate a few bucks to them.

You can find a small gallery here: http://www.k-3d.org/wiki/Still_Gallery.

Sorry Opera 10.51, though you're a fast browser, I had to get rid of you fast: (Part 2)

Continued from Not Firefox, Chrome, or IE: Its Opera’s new 10.51 boasts being the fastest browser on earth (Part 1)

Opera, you had promise. I tested you out and you did seem a little faster. I used you all day long.

For the first half of they everything went smooth.

  • I loved the zoom feature, and if other browsers have it, it is not as obvious. I liked how every element zoomed. It wasn’t just the text that got bigger, everything got bigger.
  • The speed dial feature is nice.

But then things went downhill fast.

  • Opera didn’t work with the forum software my company uses. This was a deal breaker in itself, but we are upgrading in a few weeks and the browser should work in the new version.
  • Then I tried to download the Voice interface and it just says failed and won’t tell me why.
  • I tried to make my book marks toolbar and it wasn’t as easy as I would have liked. I still don’t have one made.
  • My brother called and needed me to connect to his computer remotely, but the remote control is initiated at a web page, which didn’t work with Opera, but worked with IE or Firefox. I used IE.
  • Don’t ask me why I checked this site today (I am not really a Trekky) but www.startrek.com didn’t work. Then I closed and opened the browser and it started working…that is just odd.
  • I could have surpassed and forgotten about these issues with something like IE Tab. I found one but no easy installer, and I am not up for research and tweaking for this review. The lack of an easy install for this feature was the final straw.

Opera has been around a long time, and I am quite surprised that it didn’t work out for me for even a full day.

Not Firefox, Chrome, or IE: Its Opera's new 10.51 release that boasts being the fastest browser on earth (Part 1)

Not Firefox, Chrome, or IE: Its Opera’s new 10.51 boasts being the fastest browser on earth

This article says: http://arstechnica.com/microsoft/news/2010/03/can-microsoft-really-build-a-better-browser.ars

Opera 10.50, released a few weeks ago? It’s the fastest browser on the chart. It’s faster even than prerelease versions of Firefox and Chrome, not to mention faster than the public IE9 Platform Preview build

I tried it personally today and I have to say that there were times when it did feel faster to me. But there is a lot of testing to do before I can decide whether to make the jump to using Opera as my primary browser.

According to this article: http://arstechnica.com/microsoft/news/2010/03/firefox-may-never-hit-25-percent-market-share.ars
Opera only has a 2.35 percent of the market share.

To me there are pros and cons to Opera based on the details above:

Pros

  • Lower market share means it is less likely to be a target for hackers as they usually target larger distributions.
  • It is the fastest browser.

Cons

  • Sites are probably not testing their browsers on Opera.
  • Less users could mean less reported issues, less features, less plugin development, etc…

I am going to use Opera for the next week or two as my primary browser and I will post a second review about Opera. I will update this post with a link to it. This article will discuss whether Opera will remain my primary browser and if so, why? If not, why not?

Update: It wasn’t weeks, it was a day: Sorry Opera 10.51, though you’re a fast browser, I had to get rid of you fast: (Part 2)

Debian and Ubuntu users have the "Elitism" attitude or Being Technical is no excuse for being rude!

So I keep hearing complaints that FreeBSD users have a rudeness about them that some call “Elitism”.

Well, this is true, I have commented on forum posts when I have seen such. However, it is not the case that this is something that is strictly limited to FreeBSD users.

They past few days I was helping a user install Ubuntu on VMWare Server. Since I was the only one really helping the user he started making him comments directly to me.

Next thing I know, I was getting railed on by an Debian / Ubuntu guy.

First, he called me out directly and told me to “pay attention”:

Jared: Please, pay attention, that it should be special reason to use VMWare Workstation, because it’s not free.

What? I shouldn’t help this guy because his software is not free? This is obsurd.

Now, since the customer was asking how to do this with VMWare, I was quite puzzled, so I sent him an email explaining that containing this exact text:

When the person who started the discussions says that they are using VMWare you help them with their issue, you don’t rag on them for the version they are using.

You maybe should take a moment an re-read the post.

Yes, I was a little rude back. I could have responded better. This is a learning experience for next time.

Then he came back at me with a this:

Jared,

Actually you’re right. That’s why you also should re-read the initial posts and see that TS was talking about VMWare *server*. Also, as I understood, you are working in company that ignore risks of using illegal SW if you don’t care about it’s cost. Please, do not spread this approach to others.

So now he attacks my company and says I work for a company that ignores the risks of illegal software. Which is actually quite funny and ironic. I work for LANDesk and one of our main features is Software Licensing Monitoring, a feature that tracks your software usage vs. license count and makes sure that companies are not overusing licenses or stealing software.

Anyway, whether you are a FreeBSD user or a Debian user or technical in any way it doesn’t matter; Being technical is no excuse for being rude.

Speak nicer in forums and mailing lists. Stop flaming other people. Especially newbies. Don’t forget we were all newbies once.

KDevelop 4 sets a release schedule…target release date May 1, 2010.

Well, many people liked and used KDevelop however, if using KDE 4, KDevelop has not been available for some time. I myself went searching for other IDEs to use on FreeBSD. I think KDevelop in the past was a quality IDE for open source platforms and hopefully KDevelop 4 can maintain and surpass that quality.

The release schedule for KDevelop 4 can be found here.
http://www.kdevelop.org/mediawiki/index.php/KDevelop_4/4.0_Release_Schedule

Using QlikView and DistroWatch to report on the most popular open source distributions (BSD, Linux, Unix)

Ok, so I am into FreeBSD and open source software, but I have recently had to do a QlikView implementation for my company LANDesk. QlikView has a feature where you can pull data from the web and report on it. So I needed to learn how to use the web-based reporting, so I decided to do a report from www.distrowatch.com.

Report Goals
There are few things that interests me from the data at DistroWatch:

  • Which base platforms are the most used?
  • Which platforms should software companies focus on supporting?
  • Where does BSD sit in the rankings.

How the report was made
So on the main DistroWatch page, there is a report that will give you the average hits per day (hpd) that a Distro’s web site gets. At the bottom there is a link to full popularity page of just these reports:
http://distrowatch.com/stats.php?section=popularity

So at first glance, you see Ubuntu is the best and Fedora is second and so on. I wanted to take the statistics a bit further. I wanted to know what main base distribution was the most used. What I mean by base distro is this: Ubuntu is #1. But Ubuntu is not a base distribution, instead it is based on Debian. Mint is #3 and is also based on Debian. Debian itself is #6 and it is a base distribution. Fedora is a base distribution.

QlikView can connect to this web page and consume this data. It was also able to loop through and click go to the link for each distribution where it was able to pull the “Based on” results. I did a few little tweaks to clean it up.

So I used QlikView to match each Distribution to its base distribution and built my report. I gathered the cumulative hits per day (hpd) of each base distro by summing the hpd from itself and its child distros. The results are staggering.

Result of the Report
I am going to show you a screen shot of the report, but I am only going to show the top 10 base distributions because otherwise it is to hard to view the report.

# 1 – Debian
Well, I have to say that I new that Debian (13818 hpd) was popular because of Ubuntu, but I didn’t know how far ahead it was compared to other base distributions. I expected Red Hat to be a lot closer but its just not. Lets look at the top ten Debian platforms by hits. In QlikView this is easy, I can simply click on the Debian pillar in the report.

So not only is Debian’s cumulative hits per day first, but it is first by a long ways. The cumulative hits per day of distros based on Debian is more than three times larger than any other base distribution’s cumulative hits. It is pulling away from the pack and nobody is going to catch up any time soon.

What I don’t know is are these new users or are other distributions losing members to Debian or Debian-based distros?

You might be grumbling to yourself and saying some incorrect statement like: Well, Ubuntu doesn’t have Enterprise support like Red Hat. But like I said, that is an incorrect statement. See their support page:
http://www.ubuntu.com/support

# 2 – Red Hat
Now, lets look at the top ten distros under Red Hat.

Ok, can I tell you that I was surprised at these results. I realize that Fedora was huge, I mean it is second on the distro list under Ubuntu, but I had missed the fact that CentOS was getting more than twice the hits Red Hat itself gets. The rest are hardly worth mentioning.

Historically mong Enterprise environments Red Hat is the most known distro, but when you look at these stats, you have to wonder if Ubuntu has taken over. The numbers for Fedora are fine, but for Red Hat they are not really that good. In fact, I keep hearing about companies using CentOS instead of Red Hat and as you can see, CentOS is getting a lot more exposure than Red Hat.

I will make this statement. Based on this data, if you are a software company considering whether to support Debian or Red Hat first, based on this data you have to choose Debian. If you were to make up some fuzzy logic for Red Hat (which due to its enterprise presence may or may not actually be valid) and weight the distributions based on other factors and somehow found a way to say Red Hat and its distro’s cumulative hits per day were worth three for every one, it would still be less than the cumulative hits per day Debian gets.

# 3 and #4 – Mandriva and Slackware
Ok, back to the report. Something that shocked me from the first chart and I had to analyze it further. Slackware? I had no idea that it was third. However, is it really third? It has a lot of very small distros based on it and Slackware itself gets 590 hpd and most the distros get less than 100 hpd. Mandriva is fourth but arguable could be third over Slackware. In fact, I have to call Mandriva third over Slackware. Sometimes you have to look at the data and make a judgment like this. Sorry Slackware, I am not trying to be biased (otherwise I would be talking up FreeBSD). I have no bias to any Linux distribution. I just say this based on the fact that Mandriva (1048 hpd) and the based-on-Mandriva version PCLinuxOS (773 hpd) both get more hits by a long way than Slackware’s top distros. The only reason Slackware got more hpd was because it has a lot of distros that were really small, while there were very few small distros based on Mandriva. The difference in the amount of small base distros is most likely due to the fact that Slackware is one of the oldest Linux distros, if not the oldest remaining distro, so naturally it has more distros based on it.

# 5 – Gentoo
Gentoo’s cumulative 1804 hpd was fourth. I have to apologize to Sabayon (760 hpd) as I had never heard of it until now. Gentoo itself only gets 428 hpd.

# 6 – BSD
What is next. Well, finally BSD shows up at number 6 with 1743 hpd. For those of you that are reading this and only know about Linux, BSD is NOT Linux. It does not run on the Linux kernel and is not likely to use many GNU tools. I hope I don’t drip with too much bias as FreeBSD is my favorite open source distribution.

Lets pull up the chart of BSD distros. There are 15 distributions listed under BSD, which is probably more than most people would believe since BSD often claims that it is not as broken up as Linux, but it has had its share of forks.

FreeBSD (553 hpd) is the main distribution. Of the Linux distributions, only Debian has more software packages available than FreeBSD.

PC-BSD (355 hpd) is to FreeBSD as Ubuntu is to Debian. For being such a new distribution PC-BSD is doing rather well. It is pretty comparable in ease of use to Ubuntu, Fedora, and OpenSUSE. Yes, PC-BSD is fully featured, running a nice windows environment with everything you could want, including a working Flash Player, the ability to configure your wireless card, and more. I recommend that if you are looking for a new desktop distribution, you at least install PC-BSD and give it a try. Ok, so my bias does show a little here.

# 7 – SUSE
So I was very surprised that SUSE wasn’t on this list until #7. Well, OpenSUSE is doing its part getting 1327 hpd. Remember, OpenSUSE is #4 if you just go by distro and not cumulative base distros. I think in time SUSE could be more popular. SUSE is newer than some of the other base distros and so it only has four distros listed. Novell’s SUSE Linux Enterprise (121 hpd) is the second most popular SUSE distro, however, it just not getting any were near the hits I expected it to be getting.

The others
And then there are the rest of the top ten: #8 Arch, #9 Puppy, and #10 Solaris (Or is that Oracle now?). Sorry if your distro was left out, this report is in the control of those who visit the distro’s web pages.

How accurate is this data?
On DistroWatch’s popularity page, it says:

The Page Hit Ranking statistics have attracted plenty of attention and feedback. Originally, each distribution-specific page was pure HTML with a third-party counter at the bottom to monitor interest of visitors. Later the pages were transformed into plain text files with PHP generating all the HTML code, but the original counter remained unchanged. In May 2004 the site switched from publicly viewable third-party counters to internal counters. This was prompted by a continuous abuse of the counters by a handful of undisciplined individuals who had confused DistroWatch with a voting station. The counters are no longer displayed on the individual distributions pages, but all visits (on the main site, as well as on mirrors) are logged. Only one hit per IP address per day is counted.

There are other factors to consider, such as the fact that some of the distributions are Live CD distros and not really platforms meant to be installed. It would be interesting to exclude them and only include installable distros but for lack of time, I didn’t.

I did nothing to verify the accuracy of the data at DistroWatch and any errors you see are not likely mine, as all the data was pulled from DistroWatch, please report any error to them and once they fix these errors, the QlikView report’s data can be reloaded.

Also, this data includes all hits from all areas: Consumer, Enterprise, Education, etc. Unfortunately there is no way I know of to tell where the hits came from. If there is a distribution that is 100% education hits, there would be no way to know that. Obviously if your target is Enterprise, you are left wondering which open source distros are really the most used in Enterprise environments. Unfortunately this report doesn’t answer that question. This is not a report of installed platforms, it is a report of cumulative hits per day. It is what it is.


Copyright ® Rhyous.com – Linking to this article is allowed without permission and as many as ten lines of this article can be used along with this link. Any other use of this article is allowed only by permission of Rhyous.com.

Why are key executables missing from Windows 7 and previous and where to download such tools free: telnet, ssh, md5, sha1, sha256, and more

Ok, so is anyone else frustrated that Microsoft fails to include certain executable tools that are standard on BSD and Linux? On my FreeBSD system, I don’t have to install anything special to telnet, or ssh, or check any type of hash (md5, sha1, sha256, etc…) and ump-teen other simple free features.

Especially the ability to check a hash, which is a key step to verify that a file was downloaded securely, and was not tampered with. In fact, it is a security risk that Microsoft doesn’t have these tools. We pay a lot of money for a Microsoft operating system and yet they fail to provide me with the tools I need to maintain security, tools that are ubiquitous and free. Also you wrote a tool for this already, were you just too thoughtless to include it in Windows 7? See http://support.microsoft.com/kb/841290.

So here is what you have to do to get these tools added to your windows platform.

Telnet See this post or google for a 3rd party telnet tool. Where is telnet in Windows 7? Or Windows 7 is missing telnet.exe
ssh Download PuTTY from here: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. I like to rename it to ssh.exe and put it in the system32 directory.

A quick search in Google led me to this download which will provide you with most the tools you need for comparing hashes or check sums.
http://www.nfllab.com/sums/sums611.zip

However, here is what I had before:

md5 I use md5sums which you can get here: http://www.pc-tools.net/win32/md5sums/
sha1 You can use this one: ftp://ftp.gnupg.org/gcrypt/binary/sha1sum.exe
sha256 This will work for you: http://www.labtestproject.com/files/win/sha256sum/sha256sum.exe

And if you want more tools that are ubiquitous to open source platforms but somehow Microsoft has excluded from their operating systems, check these out:

Other GNU Utilities Download them from here: http://gnuwin32.sourceforge.net/packages.html

I hope this page helps you. I mostly wrote it for myself, so I could remember where I find this stuff again.

How to remove a single quote from a string in QlikView?

Ok, so I had a problem today that I couldn’t find any documentation on. I needed to remove a single quote from a variable in a string during a load script but it took some time.

I tried this but it didn’t work:

purgechar(‘It’s got a quote’, ‘\”)

It turns out that QlikView doesn’t seem to have an escape character, so I had to figure out another method. Google searching for this string didn’t help: single quote Qlikview escape character

So I figured it out. You have to use the chr() function.

purgechar(‘It’s got a quote’, char(39))

You can get the correct ascii number to pass to the char() function from here:
http://www.asciitable.com/

So hopefully if you do the same google search you will find my post and not have to spend as much time as I did trying to figure this out.

(Resolved) ShrewSoft VPN Proxy Services Blocks DNS Requests for VMWare Workstation Guests

UPDATE: 3/5/2010
2.1.6 beta 6 addresses this issue, so please install this version and ignore the rest of the comments below.

Ok, so I am big support of ShrewSoft VPN Client and I am also a user of VMWare Workstation. However, I have found an incompatibility between the two.

I tell everyone here at work to use ShrewSoft VPN Client on their Windows 7 64 bit clients. However, they are all running VMWare as well. So I feel it is my responsibility to also inform them of this issue that was found by one of my coworkers.

PROBLEM
Well, a strange problem is seen on VMWare Guests running on a host with ShrewSoft VPN Client installed. No DNS requests are going out for the Guest. A DNS Request never leaves the host.

Troubleshooting
I seached the following term on the VMWare forums: DNS Bridged

The following VMWare Community discussion appeared:
DNS Name Resolution using a bridged network connection not working

Resolution
If you stop the ShrewSoft DNS Proxy Daemon, then the issue goes away.

Also, this is not really a reason to stop using ShrewSoft VPN. There is a post about Cisco’s VPN Client firewall causing the same issue.
Problems with networking using Workstation 7

PDFForge released a new version of PDFCreator 0.9.9

Hey all,

PDFCreator is a nice tool that lets you

I am not sure if you noticed, but PDFForge released a new version of PDFCreator.

I just want everyone to know that I use PDFCreator with Windows 7.

PDFCreator allows me to print from any application to PDF, so if you thought you had to buy Adobe Acrobat Professional to get this feature, you are mistaken. PDFCreator gives you this feature at zero cost to you or your organization.

Save paper and print to PDF.

How to compile and install K-3D 0.7.12 on FreeBSD 8? (Update K-3D 0.8.0.0)

Ok, so I found a port that is need of updating. K-3D. FreeBSD has K-3D version 6.7 in ports but K-3D is on release 7.11 and approaching their version 8 release. So lets see what we need to do to get this port updated.

To start out, I have informed both FreeBSD and K-3D that I am going to help with this using their forums.
http://forums.freebsd.org/showthread.php?t=10647
http://www.k-3d.org/forums/topic/updated-port-for-freebsd-8

Step 1 – Build a FreeBSD 8 Desktop Environment
Build yourself a desktop as described here (or however you want if you know what you are doing):
How to install and configure a FreeBSD 8 Desktop with Xorg and KDE?

Step 2 – Install dependencies
The following are dependencies that are required to build K-3D on FreeBSD 8.

  1. Install mercurial
    K-3D uses Mercurial as its version managed system for its code (it used to use subversion but now uses mercurial). So to download the code you need to install Mercurial.

    As root do this:

    # cd /usr/ports/devel/mercurial
    # make install

  2. Install cmake 2.8 or later.
    K-3D now uses cmake as its build management system as opposed to make or gmake. Since cmake is not installed on FreeBSD by default, lets install it.

    # cd /usr/ports/devel/cmake
    # make install

  3. Install cairomm.

    # cd /usr/ports/graphics/cairomm
    # make install

    Note: This will also install glibmm and sigc++.

  4. Install gnome-vfs.

    # cd /usr/ports/devel/gnome-vfs
    # make install

  5. Install gtkglex.

    # cd /usr/ports/x11-toolkits/gtkglext
    # make install

  6. Install gtkmm24.

    # cd /usr/ports/x11-toolkits/gtkmm24
    # make install

  7. Install gtksourceview2.

    # cd /usr/ports/x11-toolkits/gtksourceview2
    # make install

  8. Install gts.

    # cd /usr/ports/graphics/gts
    # make install

  9. Install ImageMagick.

    # cd /usr/ports/graphics/ImageMagick
    # make install

  10. Install e2fsprogs-libuuid.

    # cd /usr/ports/misc/e2fsprogs-libuuid
    # make install

  11. Install Doxygen.

    # cd /usr/ports/devel/doxygen
    # make install

    Note: This took quite a long time to compile because it also had a lot of large depencies.

  12. Install libexecinfo.

    # cd /usr/ports/devel/libexecinfo
    # make install

Step 3 – Download the code and build it

  1. As a regular user, run these commands:

    $ cd ~
    $ hg clone http://k3d.hg.sf.net/hgweb/k3d/k3d

    The code will take a minute or two (or more if you have a slow connection) to download.

  2. – Make a build directory
    K-3D cannot be built in the same directory where the code resides. So lets create a build directory and change to that directory.

    $ mkdir ~/k3d-build
    $ cd k3d-build

  3. Run cmake against k3d

    $ cmake ~/k3d

    Note: If you forget to install the dependencies, you will get errors. Here is the output of my attempt to compile before I installed the dependencies.

    $ cd k3d-build
    $ cmake ~/k3d
    -- checking the width of std::vector<>::size_type for this platform
    --   std::vector<>::size_type is 64 bits
    -- checking for module 'cairomm-1.0'
    gnome-config: not found
    --   package 'cairomm-1.0' not found
    -- checking for module 'dbus-glib-1'
    --   found dbus-glib-1, version 0.82
    -- checking for module 'freetype2'
    --   found freetype2, version 9.20.3
    -- checking for module 'glibmm-2.4'
    gnome-config: not found
    --   package 'glibmm-2.4' not found
    -- checking for module 'gnome-vfs-2.0'
    gnome-config: not found
    --   package 'gnome-vfs-2.0' not found
    -- checking for module 'gtkglext-1.0'
    gnome-config: not found
    --   package 'gtkglext-1.0' not found
    -- checking for module 'gtkmm-2.4'
    gnome-config: not found
    --   package 'gtkmm-2.4' not found
    -- checking for module 'gtksourceview-2.0'
    gnome-config: not found
    --   package 'gtksourceview-2.0' not found
    -- checking for module 'gts'
    gnome-config: not found
    --   package 'gts' not found
    -- checking for module 'ImageMagick++'
    gnome-config: not found
    --   package 'ImageMagick++' not found
    -- checking for module 'OpenEXR'
    --   found OpenEXR, version 1.6.1
    -- checking for module 'libpng12'
    --   found libpng12, version 1.2.40
    -- checking for module 'sigc++-2.0'
    gnome-config: not found
    --   package 'sigc++-2.0' not found
    CMake Error at cmake/modules/K3DDependencies.cmake:18 (MESSAGE):
      Couldn't find glibmm, which is required to build K-3D.  You can obtain
      glibmm from http://gtkmm.org.
    Call Stack (most recent call first):
      CMakeLists.txt:248 (K3D_CHECK_REQUIRED_DEPENDENCY)
    
    
    CMake Error at cmake/modules/K3DDependencies.cmake:18 (MESSAGE):
      Couldn't find libsigc++, which is required to build K-3D.  You can obtain
      libsigc++ from http://libsigc.sourceforge.net.
    Call Stack (most recent call first):
      CMakeLists.txt:251 (K3D_CHECK_REQUIRED_DEPENDENCY)
    
    
    -- checking for module 'uuid'
    gnome-config: not found
    --   package 'uuid' not found
    CMake Error at cmake/modules/K3DDependencies.cmake:18 (MESSAGE):
      Couldn't find uuid, which is required to build K-3D.  You can obtain uuid
      from http://www.ossp.org/pkg/lib/uuid.
    Call Stack (most recent call first):
      CMakeLists.txt:257 (K3D_CHECK_REQUIRED_DEPENDENCY)
    
    
    CMake Error at cmake/modules/K3DDependencies.cmake:28 (MESSAGE):
      Couldn't find the gtkglext library, which is required by
      K3D_BUILD_NGUI_MODULE.
    Call Stack (most recent call first):
      CMakeLists.txt:272 (K3D_CHECK_OPTIONAL_DEPENDENCY)
    
    
    CMake Error at cmake/modules/K3DDependencies.cmake:28 (MESSAGE):
      Couldn't find the gtkmm library, which is required by
      K3D_BUILD_NGUI_MODULE.
    Call Stack (most recent call first):
      CMakeLists.txt:273 (K3D_CHECK_OPTIONAL_DEPENDENCY)
    
    
    CMake Error at cmake/modules/K3DDependencies.cmake:28 (MESSAGE):
      Couldn't find the cairomm library, which is required by
      K3D_BUILD_NGUI_PIPELINE_PANEL_MODULE.
    Call Stack (most recent call first):
      CMakeLists.txt:274 (K3D_CHECK_OPTIONAL_DEPENDENCY)
    
    
    -- checking for module 'gthread-2.0'
    --   found gthread-2.0, version 2.20.5
    -- generating i18n catalog
    --   done
    -- Could NOT find Doxygen  (missing:  DOXYGEN_EXECUTABLE)
    -- Configuring incomplete, errors occurred!
    $
    

    Hopefully you installed the dependencies and didn’t see any of the above errors.

Step 4 – Test Running the application
We can test running this from the build directory before installing, so lets do that.

  1. From the k3d-build directory, type make run:

    $ make run

  2. Ok, so now that it is compiling it is failing to run…hopefully we can get that fixed. Stay tuned.

UPDATE: 2/2/2010

Ok, so I am back. Here is the what I have done.

Step 5 – Fixing run errors

  1. Compiled with debugging. I ran ccmake ~/k3d again and this time I set the CMAKE_BUILD_TYPE to Debug before choosing to configure. Once configure was done, I ran make again.
  2. Grepped for the error in the code. Specifically, this term:

    $ grep -Rn k3d::iuser_interface ~/k3d/*

    I found the problem code was in this file and line number:
    File: /home/jared/k3d/application/k3d_main.cpp
    line: 460

  3. Went to the problematic code and investigated it. It seems to be a simple check, so I commented that block of code out so it would continue:
    //      if(!dynamic_cast<k3d::iuser_interface*>(g_user_interface))
    //     {
    //              delete g_user_interface;
    //              g_user_interface = 0;
    //              handle_error("UI plugin module [" + module_name + "] does not impleme
    //              return;
    //      }
    
  4. I recompiled (everything remained compiled except the one part with the file I changed so compiling was quick).
  5. I launched make run again:

    # make run

    This time, as I had hoped, it loaded the application completely.

    However, I noticed some errors.

    The first two error lines occurred early in the load process. I am not sure but they seem to be unrelated:

    INFO: Gtk: Failed to load module “atk-bridge”: Shared object “libatk-bridge.so” not found, required by “k3d”
    :1: error: unexpected character `\241′, expected keyword – e.g. `style’

    ERROR: /home/jared/k3d/modules/virtual_opengl_painters/sds_point_painter.cpp line 73: assertion `delegate’ failed
    ERROR: Error creating document plugin: VirtualOpenGLSDSPointPainter
    ERROR: /home/jared/k3d/modules/virtual_opengl_painters/sds_edge_painter.cpp line 73: assertion `delegate’ failed
    ERROR: Error creating document plugin: VirtualOpenGLSDSEdgePainter
    ERROR: /home/jared/k3d/modules/virtual_opengl_painters/sds_face_painter.cpp line 73: assertion `delegate’ failed
    ERROR: Error creating document plugin: VirtualOpenGLSDSFacePainter

  6. I searched the ports tree for the libatk-bridge.so file.

    # /usr/ports
    # grep -R libatk-bridge *

    It looks like there is a at-spi package that provides this library.

  7. Install the at-spi package

    # cd /usr/ports/accessibility/at-spi
    # make install

  8. Tried to make run again.

    # exit
    $ cd ~/k3d-build
    $ make run

    The application loaded and the libatk-bridge error was gone but it was replaced with a warning:

    (k3d:55092): atk-bridge-WARNING **: AT_SPI_REGISTRY was not started at session startup.

    (k3d:55092): atk-bridge-WARNING **: IOR not set.

    (k3d:55092): atk-bridge-WARNING **: Could not locate registry

  9. Ok, so now that it is running, I think it is time to submit bugs to K-3d for the remaining errors.

As of right now, I don’t think it is worth the effort to create a port of version 7.11 as it has bugs for FreeBSD. I feel comfortable that when the next revision of K-3D comes out, version 8.x, the code will work well and we will create a port for it.

UPDATE: February 8, 2010

The main developer has made some changes so that K-3D launches now. The error that prevent the launch is gone (the others that seem somewhat benign are still occurring).

There is now a problem with K-3D on FreeBSD in that the faces cannot be properly selected, so the user-interface is not working perfectly.

Again, I will work on this problem and update this post.

Update: The problem is now resolved. There are couple lingering issues that you can read about at the K-3D forums.
http://www.k-3d.org/forums/topic/updated-port-for-freebsd-8

Hopefully all will be resolved when version 8 releases and we can make a new port.

Update: March 31, 2010

Ok, it looks like we need to move to Mesa 7.6.1 to get the latest versions of K-3D to work. Mesa 7.6.1 is available on FreeBSD.

You just have do make WITHOUT_NOUVEAU in order for the new version to be pulled. Here is what I did.

portsnap fetch update

cd /usr/ports/graphics/libGL/
make deinstall
make WITHOUT_NOUVEAU=yes install

cd /usr/ports/graphics/libGLU/
make deinstall
make WITHOUT_NOUVEAU=yes install

cd /usr/ports/graphics/libGLw/
make deinstall
make WITHOUT_NOUVEAU=yes install

cd /usr/ports/graphics/libglut/
make deinstall
make WITHOUT_NOUVEAU=yes install

cd /usr/ports/graphics/libdrm/
make deinstall
make WITHOUT_NOUVEAU=yes install

cd /usr/ports/graphics/dri/
make deinstall
make WITHOUT_NOUVEAU=yes install

Now things are working rather well, though the rendering with Aqsis is just giving me a black box. Hopefully I will fix that.

I fixed the black box just be restarting K-3D (I had installed Aqsis while K-3D was running).

However, now I am seeing a problem with Rendering the mug example. The handle does not appear to be rendered correctly.

It should look like this:

However, on FreeBSD it looks like this:

How to add a new Project Type option in dotProject 2.x

Hey all,

So in dotProject 2.x, you can select a project type.

There are three values by default:

Unknown
Administrative
Operative

Of course, these are generic and more granular types that you may want to add. Such changes can be made by a dotProject Administrator by going to System Admin | System Lookup Type and clicking the edit icon next to Select List | Project Type.

The format is quite simple:

0|Unknown
1|Administrative
2|Operative

So if you want to change it you just add in text more values in the same format.

0|Unknown
1|Administrative
2|Operative
3|Salesforce
4|Reporting
5|Community
6|Internal Tool

And interestingly enough there is not an apply button. Instead there is an “Edit” button (which doesn’t make sense, because you are already in edit mode). An “Apply” button would make much more sense.

Why does the calendar date field and the date field of another table sometimes not match up in QlikView?

Why does the calendar date field and the date field of some other table some times not match up in QlikView?

Ok, so I have two tables, one a Calendar table and one a table of of support cases (pulled from Salesforce). They both have a column called CalendarDate and both have the same date values. The table for support cases looks something like this (obviously this is a minimal example).

CaseNumber, CalendarDate
123456, 1/1/2010
123457, 1/2/2010
123458, 1/2/2010
123459, 1/2/2010
123460, 1/2/2010
123461, 1/3/2010
123462, 1/3/2010
123463, 1/3/2010

The Date value is calculated from a field and converted using the Date() function: Date(sourcecolumn)

The Calendar table of course has days and months, etc…For more information about my calendar, go here:
http://rhyous.com/2009/11/30/my-new-and-improved-calendar-in-qlikview/

Anyway, I should be able to create a chart that has CalendarDate as the Dimension and Count(CaseNumber) as the Expression and get something like the following:

However, it wouldn’t work. This is too simple to possibly fail, right? Is it a QlikView bug? Or a bug with the Salesforce plugin?

What is interesting, is that if I do a select field, which only shows unique values, all the values show up:

1/1/2010
1/1/2010
1/2/2010
1/2/2010
1/2/2010
1/2/2010
1/2/2010
1/3/2010
1/3/2010
1/3/2010
1/3/2010

Now that is just not right. They are the same value right? Well, obviously not if only unique values show.

So how could they be different?

Well, QlikView doesn’t actually store the date, it stores a number. So obviously the number is different somehow. Maybe it is because my Calendar creates the CalendarDate using an integer but the Salesforce date values come in as doubles.

So here is why I think this is a Salesforce bug. I am calling Date() against the value and it is creating the 1/1/2010.

I have to say that I feel that QlikView needs to normalize this data, so that a Date created using Date(Integer) that returns 1/1/2010 and a Date created using Date(Double) that returns 1/1/2010 should match.

I did find a simple workaround. If I do this to round the double to an integer, it works.

Date(Round(DateAsDoubleValue - .5, 1)) as CalendarDate,

I am not sure if this is by QlikView design, but personally, I would prefer that If I call Date() on any data type, the return values should be normalized and match.