Posts Tagged ‘Linux’

Diagnoses: Mono

Saturday, April 2nd, 2005

Man, I haven’t been posting as much as I used to.

I posted GtkSpell# into the Mono repository. Check it out at http://svn.myrealbox.com/viewcvs/trunk/gtkspell-sharp/ Seems to have some activity already too. One line of code and you can add it to any TextView. Multilingual support as well and something that Tomboy has been doing themselves. This should build on Win32 as well and you can get the gtkspell dlls from the default Gaim installer and the aspell dictionaries from http://aspell.net/win32/ if you don’t feel like building yourself. If you haven’t seen it yet: http://www.polystimulus.com/Screenshot-GtkSpellSharp.png

I went to meet with the guys at Telligent. They work on the popular CommunityServer software which is really neat stuff. CommunityServer is awesome, pardon the licence as its not normally what we consider open source in the Linux community, but it is still very flexible. :-) I recently had it working on Mono myself (sorry, no link anymore as it was more of an proof of concept at the time). It is used currently on channel9.msdn.com, www.asp.net, weblogs.asp.net, XBox forums, the MSDN blogs, and so many other places. I would say these guys are the most elite developers in the ASP.NET community I’ve seen. Very nice and very relaxed development environment as well. These guys were the most enthusiastic developers in a single company that I’ve ever seen and only comparable to the energy and drive that I see in people related to different open source projects. Maybe because it is a business made up of nearly the best developers in this field. They work hard and play hard as well as evident by the notorious XBox room. :-) I was very impressed with their setup and I hope I get to work with them very soon.

I’m working on a lot of little things I hope to release soon, but mostly its been pretty busy lately.

Also, my prayers go out to Paco and his family. I’m happy to see him again after what must of been the hardest week of his life loosing his son to the war in Iraq. Take care Paco.

Mono Package and Deployment Framework

Saturday, February 26th, 2005

Wrote this up based on this idea I have had for a little while now. Its mostly just a thought and needs some work. Been tinkering with some code but nothing to big. Check it out and let me know what you think.
Mono Package and Deployment Framework

Mono Art & Gecko# WIN32

Thursday, February 24th, 2005

I released a new GRE for gtkembedmoz and I also put up a new page for the gtkembedmoz and Gecko# stuff for WIN32 here. I also made some custom Mono wallpapers when I got tired of coding today. (All my SVGs, GIMP files and transperent PNGs here.)

Enjoy! :-)

Making Windows play nicely with Linux…

Tuesday, February 15th, 2005

This is a republishing of a previous blog entry I did 4 months ago with some updates. Enjoy.

I’ve thrown a list of simple things you can install and do to help you understand the common products and systems in Linux better and use the tools that Linux users use everyday. It help any Windows user better understand Linux. It can also make it easy just to work with other Linux people at your office. Who knows. Here is what you need to do:

STEP 1:

Download and install the following apps (*optional):

  1. Paco’s (Fransico Martinez) WIN32 installer for Mono
    http://www.mono-project.com/downloads/index.html - Free
  2. Cygwin is a full package of tools, applications, and compliable libraries that all work under windows using a unix emulation layer.
    http://www.cygwin.com/ - Free
  3. Apache and PHP for your web server.
    http://httpd.apache.org/ - Free
    http://www.php.net/ - Free
  4. ActivePerl, ActiveTcl, ( and maybe ActivePython)
    http://www.activestate.com/Products/Language_Distributions/ - Free
  5. *MinGW (maybe MSYS) for compiling those linux based apps. (You can use -mno-cygwin but I prefer MinGW straight up. Seems to play more friendly that way)
    http://www.mingw.org/ - Free
  6. *Windows Services for UNIX from Microsoft is nice for the command line utilities and setting up a Windows based NFS server (but is hard to find at a good price)
    http://www.microsoft.com/windows/sfu/ - $$$
  7. *Mozilla Firefox and the Mozilla suite are the best web browsers (not really needed but it can help with your window’s struggles)
    http://www.mozilla.org/ - Free
  8. *Subversion and TortoiseSVN
    http://tortoisesvn.tigris.org/ - Free
  9. *CVSNT for a great NT based CVS
    http://www.cvsnt.org/ - Free
  10. *VNC for remote desktop.
    http://www.realvnc.com/ - Free
  11. *Putty for SSH. (Cygwin SSH is nice but Putty has better graphics support but don’t try to tie putty to subverison.)
    http://www.chiark.greenend.org.uk/~sgtatham/putty/ - Free
  12. *NMAP is great for scanning open ports (some virus scanners think this is a virus though)
    http://www.insecure.org/nmap/ - Free
  13. *UCD-SNMP (or if you want to play with NET-SNMP, but its not as stable on windows) for SNMP
    http://www.net-snmp.org - Free
  14. *Ethereal for packet sniffing
    http://www.ethereal.org/ - Free
  15. *Gaim for instant messaging (Works with AIM, MSN, Yahoo, IRC, ICQ, Jabber, Novell Groupwise, Napster and more)
    http://gaim.sf.net/ - Free

STEP 2:

After you install Cygwin, make sure you add the X:\cygwin\bin (and X:\cygwin\usr\autotools\stable\bin if you installed the autotools package) to the end of path variable (Windows Control Panel -> System Settings -> Environment Variables -> Path). ActivePerl will do this for you for your perl libs. If you plan to use MinGW go ahead and add X:\mingw\bin to your path before the cygwin bin folder.

STEP 3:

Enjoy!

Hackin’ Night

Sunday, February 13th, 2005

Paco (Fancisico Martinez) and I got together last night and had a late night hacking session talking and working on the WIN32 port of Gecko# and the gtkembedmoz.dll backend. First time I got to see it from someone elses perspective (from the front line, if you will) on a cleanly working machine. Ordered a pizza and got some Dr. Pepper and we were off.

Turned out we did some good work in the end. We locked down the issues and came to some very great solutions to get it working and distrubuted.

This morning I confirmed my theory that a lot of the intial errors had to do with the offical GRE being built with MSVC 6.0 and I was building with MSVC 7.1. Something about the dlls not passing UTF8 strings from my DLL to the offical Gecko Runtime Enviroment (GRE) DLLs. The GRE I included on polystimulus.com is completely built with MSVC 7.1 and it works. The NVU team which releases an independent GRE as part of their version of the Mozilla editor in a standalone application which they built using MSVC 7.0, and my DLL works with their GRE flawlessly.

I also need to get the WIN32 port ready for the changes in 1.8 that will be released soon. I can confirm its working (with errors that may be releated to mismatch versions like I said above) on the 1.7.x branch though. What I’m guessing we will do is to do is use my GRE for now which will have its own Mono/.NET shared path and give it its own installer. I’m still going to work for binary compatablity with the offical Mozilla releases at the sametime but it won’t be my main focus. If and when the patch makes its way in the mozilla tree and if and when it gets included with the offical GRE from Mozilla, then this will be the best solution to prevent breakage when a user upgrades Mozilla. The biggest issue in maintaining a binary compatable version is that some of the interfaces used in gtkembemoz are not frozen in Mozilla so any change made in the main tree has to be changed in my DLL which is a big game of catch up, so trying to release a binary compatable version that works with any version of the GRE is a little futual right now. This isn’t any issue on Linux, because the gtkmozembed lib is included by default with every version of Mozilla. Best solution is to include my GRE for gtkembedmoz.

When I get it fully compatable without the little bugs and such (in the offical GRE only) there is a way to lock a GRE version when its in the shared GRE path, so it doesn’t uninstall our version of the GRE durning an upgrade of Mozilla. We can do this if we register we are using it and we still need it in the registry. We can also do a test in the installer for compatable GREs installed. If one is found we can register with the latest compatable version installed that we find. If none are found then install (ether via net download or local dir) a compatable version of the GRE. The XPInstall and GRE docs have it all documented how you can do that, but I have yet to find an application that has ever used it. Wasted space (roughly 4.5mb compressed, 10-30mb decompressed) is not a big deal when it comes down to just making it work without errors ether now or in the future by the user doing something unexpected and breaking the application.

I also finally got my copy of Paco’s WIN32 developer disc. I wish I had this when I started. It would of saved me about 2 weeks of changing and hacking my enviroment over and over trying to build on WIN32, all the parts of Mono (as massive as it is with way more then 3,000,000 lines of code). My enviroment is nearly perfect now without the disc now, but this disc is recreatable and distrubutable. Its a must for anyone wanting to build from source on Windows.

In the end it, I had a good time and left feeling like we got one more big step closer. Yeppie! :-)

Portin’ like a mad man…

Wednesday, January 26th, 2005

It has been a long time since I posted a real blog entry in a while on what I’ve been doing so here goes…

  • GtkEmbedMoz + Gecko# for WIN32 -

    The patch is making its way into the Mozilla tree that makes this work and it might make it into the official upcoming Mozilla Suite 1.8 release (cross your fingers). Right now you can find the beta versions of the dlls required to make it work, a custom GRE (even though I have tested it with the official Mozilla 1.7.3 and 1.7.5 build, the official versions have a few bugs like disappearing scroll bars and control focus issues on web forms) and my patches to build yourself. The Gecko# dll is up there as well and I’m committing my fixes into the SVN later on to Gecko# so we should have this in the next WIN32 installer :-)

  • Monodoc using Gecko# and working on WIN32 -

    Miguel and Paco talked about it a little before. It’s nothing really to write home about except it brings it to Windows. I have the patch for using Gecko# instead of GtkHTML (which doesn’t work on WIN32) here if you want to play and a screenshot can be seen here.

  • Tomboy on WIN32 -

    I got bored and decided to have some fun, so I ported Tomboy to WIN32. It was pretty easy. It only took me about 30 minutes. I think it really shows that rapid application cross platform development is really something that Mono can offer.

  • SNMP.NET -

    I have a fully working lightweight SNMP library for .NET that I wrote using references from a few networking books I have. I included two little sample apps as well that can query a devices id and uptime and the other one can query for that machines MAC address. Provided of course you query an SNMP device that you have its community name for. Most routers and any *nix flavor box running an SNMP server. I don’t have any M.I.B. support so you have to use the UID directly to make this work. M.I.B. translation is a bit more work then I pulled off in the 250 lines of code in this. It uses pure sockets provided by System.Net so it works on Win32, Linux and Mac OSX I know for sure. Get it here: http://polystimulus.com/snmp.zip. (Side-note: I do have a fully library that does have full M.I.B. support written by this guy in England but its very complex and very resource intensive but it provides the ability to host SNMP, but it doesn’t currently work in Mono yet.)

  • PHP&GTK - PHP & Mono & GTK#/SWF -

    I’ve been toying with this idea a bit and had some great success with it. It’s the one idea that when I mention it, people seem to always say, “I don’t know whether to be sick or socked and amazed.” I know a lot of people have tried and used PHP-GTK. You basically run PHP as a runtime on the client side and use it make GUI apps with GTK as the interface. Applications like Nova (a gnutella client for WIN32) do this and pull it off really quite well. The biggest issues though is that PHP+GTK is very slow on development and stuck in gtk 1.x right now and it doesn’t have a lot of interest as it started as more of a proof of concept. Part of the issue is that if you use it to wrap your existing code, you couldn’t render HTML in anyway so everything has to be rewritten with GTK.

    Well I have a much cooler solution. Thanks to the classes in PHP that allow you to load and access .NET/Mono assemblies in PHP, it is possible to take PHP, run it as a runtime, and call SWF/MWF or GTK# for your interface. Then thanks to Gecko# and GtkHTML you can render basic things like your tables and css styles inside your app without rewriting. Nothing working well enough to post about it.

Well that just about sums it all up. I’m also looking for a job if anyone is hiring in the Dallas area. :-)

Novell (ximian) Connector

Monday, November 8th, 2004

Novell released the Exchange 2000/2004 connetor for Eximan under the GPL now that Novell has purchased Ximian. NO MORE LICENCE FEES! GOD BLESS GPL!

NOVELL: Novell Connector

[praise]I love you Novell![/praise]
[chant type=”mindless”]ALL PRAISE NOVELL! ALL PRAISE NOVELL![/chant]

Win2k source vs Linux source

Thursday, November 4th, 2004

Very interesting artical on the code leaks at Microsoft.
We Are Morons: a quick look at the Win2k source || kuro5hin.org

Funny part of this is that Microsoft Developers seem to have be frustrated with its own policies and politics passed down by their marketing people.

Linux is great because its open and free to critisize about every peice of code it uses, even before its next stable release version, the code gets stronger.

Microsoft doesn’t want Windows released in a similar matter becase it doesn’t want anyone to be able use it without a licence. So in turn they have to hire more people to review the code and bugs, security holes, and hidden and undocumented functions get lost in the code.

What drives me nuts is that Microsoft won’t even except the fact their system is not as effecent as the open source model. They even go and put down Linux. Steve Balmer even said he didn’t understand why people think that Linux is higher quality just because everyone in the world can sumbit patches as he said “overnight” when bug comes up or a network sucking worm drain the internet. Well Balmer, that does play in favor of Linux so I would just stear clear of that issue if I were you. With Windows, if its a new feature, you had to wait until Microsoft felt like adding it and if they do only in the next version of Windows.

Mozilla is even proving that same point in the bowsers. The number one reason for spyware is security holes. The other is saying an item might be safe just because Versign signed the code. Mozilla and Mozilla Firefox just doesn’t have support in the same idea for the things that screws up IE. Browser bars that are installed can be easily and quickly removed and can only be installed with lots of interaction by the user.

I have only thing to say to you Microsoft… “DUHHHH!!!”

Marko… Polo….

Wednesday, November 3rd, 2004

My MapTrack system is growing very rapidly. Here are some of the maps that are generated by my system. This only shows a basic overview of the mapping system, but they look cool. Working on this module today so have a look.These images are live.

MapTrack - 200 by 200 - phone
Map for color phone
MapTrack - 200 by 200 - phone
Map for b+w/grayscale phone
MapTrack - 300 by 200 - BW phone
(Detailed) Map for b+w/grayscale phone

(more…)

Micronut

Monday, October 25th, 2004

microsoft.com/freedomtoinnovate

… wtf … [rant] microsoft’s looking for sympathy. The bad layout and repeating text, hundreds of misspellings, bad gif images, and likes to remind you to vote are Microsoft’s way of looking like they are just little guys being put down by “the man”. Oh please. Go cry me a river, so I can go swimming, Microsoft. You knew that this was coming. People tend to sue big huge evil anti-competetive beasts such as yourself. [/rant]

Looks like Microsoft’s version of the site that SCO will be putting up to combat presure from Groklaw

CVSNT

Saturday, October 16th, 2004

Looks as if one of my favorite applications is starting to sway in its professionalism towards open source. CVSNT seems to be changing around a bit on their site. The first thing you see is a basicly an ad for support services for CVSNT. You can still get CVSNT still for free under the GPL but the Wiki has been changed to be more of an ad too with every other reference back to their ‘main site’ to purchase a support contract. I hate this. The best part of the open source movement is the integrity.

What every open source developer has learned is that people trust our products because they can trust our intentions. What makes our products so great is that we don’t write our application s with the main intention of making money, gainning power, or even atacking . We write them for other reasons. I’m not saying it isn’t right to make money with open source products, but we don’t intentionally do anything to be considered bad taste in mind of the open source community.

This is just bad tastes. http://www.cvsnt.org - ironicly it redirects to http://www.ntcvs.com to state, I’m assuming, their jump to being a commerical entity.

Sad Sad Day.

How to make Windows play nicely with Linux

Saturday, October 16th, 2004

A better guide to help Windows users migrate and interpoliate with Linux needed to be written. Since everyone notice what I do, and soon Windows based system will drop off the face of the earth and down into the evil pit of propritary systems and insecurity it had sprang from. I could never really find anything that could really explain how you can make Windows conform to the Linux users way of working. Lots of Linux developers have really tried to be nice to Windows and make products to work with them, yet nothing really documented doing just the opposite by helping it work with Linux.

I’ve thrown a list of simple things you can install and do to help you understand the common products, services, and systems in Linux better and use the tools that Linux users use everyday. Maybe it might help you understand the glory of what Linux has to offer and make a complete switch. It can also make it easy just to work with other Linux people at your office. Who knows. Here is what you need to do:

STEP 1:

Download and install the following apps (*optional):

  1. Cygwin is a full package of tools, applications, and compliable libraries that all work under windows using a unix emulation layer.
    http://www.cygwin.com/ - Free
  2. Apache and PHP for your web server.
    http://httpd.apache.org/ - Free
    http://www.php.net/ - Free
  3. ActivePerl, ActiveTcl, ( and maybe ActivePython)
    http://www.activestate.com/Products/Language_Distributions/ - Free
  4. MinGW (maybe MSYS) for compiling those *NIX based apps.
    http://www.mingw.org/ - Free
  5. *Windows Services for UNIX" from Microsoft is nice for the command line utilities and setting up a Windows based NFS server (but is hard to find at a good price)
    http://www.microsoft.com/windows/sfu/ - $$$
  6. *Mozilla Firefox or the regular mozilla are the best web browsers (not really needed but it can help with your window’s struggle)
    http://www.Mozilla.org/ - Free
  7. *CVSNT for a great NT based CVS
    http://www.cvsnt.org/ - Free
  8. *VNC for remote desktop.
    http://www.realvnc.com/ - Free
  9. *Putty for SSH
    http://www.chiark.greenend.org.uk/~sgtatham/putty/ - Free
  10. *NMAP is great for scanning open ports (some virus scanners think this is a virus though)
    http://www.insecure.org/nmap/ - Free
  11. *UCD-SNMP (or if you want to play with NET-SNMP, but its not as stable on windows) for SNMP
    http://www.net-snmp.org - Free
  12. *Ethereal for packet sniffing
    http://www.ethereal.org/ - Free
  13. *Gaim for instant messaging (Works with AIM, MSN, Yahoo, IRC, ICQ, Jabber, Novell Groupwise, Napster and more)
    http://gaim.sf.net/ - Free

STEP 2:

After you install Cygwin, make sure you add the X:\cygwin\bin to your path directive in Windows Control Panel -> System Settings -> Environment Variables -> Path. ActivePerl will do this for you for your perl libs.

STEP 3:

Enjoy! Don’t claw your face out if you have problems since it is to be expected when trying to do something that is almost impossible.

PHP5 killed my inner child

Friday, October 15th, 2004

Ok. I just had the hardest time screwing with Debian “Woody”. Got a good base install. Apache 1.3.29 and PHP 4.1.x. A little old but useable. Had to get connected to MSSQL to run some queries from inside my code. All is good. Then I had to port tons of code I wrote for PHP5 on my Windows machine running Apache 2 for Win32 (and Apache 1 compiled under Cygwin). And so the nightmare begain.

After porting that site I noticed I used a lot of the new DOM and XSLT libraries (not to be confused with the older XSL libraries) and in fact used them almost entirely for that code. After I seen how long it would take me to port it, I decided to break the debian package system and upgrade them manualy. I first took a look at APT-GET.ORG and I was able to find a few deb servers that had php5 debs. I tried them but they all but I counldn’t find any that had support for the MSSQL libs or even updated the libxml to libxml2 completely or installed the latest libxslt libs.

I was forced to build them all myself. I got all the libs and installed them. No big deal there. Then I grabbed the latest PHP 5. Took me forever to get all the compiler options figured out. Ended up using this:


./configure --prefix=/usr/local --with-apxs=/usr/bin/apxs --with-ming=/usr/local --with-gd --with-png-dir=usr/local --enable-gd-native-ttf --with-xml --with-libxml-dir=/usr/local --with-expat-dir=/usr/local/lib --with-dom=/usr/local --enable-ftp --enable-shared=yes --enable-static=yes --with-xsl=/usr/local --enable-track-vars --enable-sockets --enable-wddx --with-xmlrpc --with-zlib-dir=/usr/local/include --with-mssql=/usr/local/

It took me forever to get all the dependencies fixed (since I was using an older and securer distrobution). I also had to figure out this damn libiconv problem. Apperantly it has happened before.

After I got it to build, I had to figure out why I was getting this stupid error that kept comming up saying that I couldn’t talk to the SQL server. I thought it was the SQL server. I ripped its permisions apart in there but couldn’t find any problems. I went back and checked my FreeTDS libs. I guess while upgrading them they replaced the freetds.conf file and so it set itself back to protocal 5.0 (default which is for Sybase) . I changed it back up to 8.0 and sure anough it worked.

Long day. Need sleep.
- Zac

Debian + Dell

Wednesday, October 6th, 2004

Looks as if a bunch of people are having issues moving from the preinstalled Red Hat Enterprise Linux to Debian on their Dell workstations and servers. Maybe I can help. I recently pruchased a $5000 Dell Precision 670n. Fully loaded.

(more…)

XML is Wonderful - Part 1

Sunday, October 3rd, 2004

I’ve gotten a lot heat over using XML in my applcations from a few “old school” developers I know. I wish to dispell some of the misconceptions and maybe prove XMLs worth. Some of the arguments I hear are mostly from people who haven’t used any or very little of the XML based technologies. Some haven’t given it more then a glance and already discounted it without really using it because all they see is its just a bunch of tags.
(more…)

Tired of “Cookie Cutter” News Postings

Wednesday, September 29th, 2004

I’m tired of the new tread of news sites posting cookie cutter type news. It makes me a little sick. Google News is a great way of seeing what I’m talking about. Just do a search for whatever. You should see a grouping of similar news items. They are the same exact crap with maybe two lines different. Yahoo, MSNBC, CNN, CNET News, etc. The all get the news briefs from Routers or the AP, and they all basicly a retype of the same damn story. The worst part is that they end up getting their facts wrong, or end up missing the point of the story all together.
(more…)

Providing Open Software

Thursday, September 23rd, 2004

My GPS tracking project is rolling along. Every day I get that much closer to selling it. I designed this thing to beat everyone else in the market. One of the greatest adavantages is that it has an open endded interface to allow other developers to integrate our product into the system. I wish I could give the project out under some open source licence but I need to make a living some how and I’m pretty sure the company I am doing this for might not like that. I’m not sure if I would really want to give out as open source.

I spend a lot of time writing software in my free time to give back to the open source community in the form of patches and helping people with thier issues using Debian in the #debian channel on irc.freenode.net. My next project will be porting software I wrote in the past as little “do-dads” for the Microsoft .NET framework. Maybe I might start my old SNMP .NET project back up.

Who knowns?

Linux Rules…

Tuesday, August 31st, 2004

WARNING: RAID-6 is currently highly experimental. If you
use it, there is no guarantee whatsoever that it won’t
destroy your data, eat your disk drives, insult your mother,
or re-appoint George W. Bush.

I was working on rebuilding my kernel for my brand new Dell. Unfortunatly the default binary Linux kernel for Debian (testing) doesn’t seem to work with my PC for kernels newwer then 2.4.26. It came with Red Hat Enterprise 9 WS (YUCK! PUKE! ICK! NASTY!). Anyways, Debian always seems to hang on the “Real Time Clock Driver” even though Knoppix seems to work each time. I compiled my own version in Knoppix (very tricky) that includes support for my new SATA drives, Sound Blaster Audigy 2, dual Intel Xeon 3.4 ghz with HyperThreading, Adaptec 79XX scsi raid controller, and my on board Intel E1000 nic card. Very Fun.