Friday, January 26, 2007

Even faster

I don't know how i did it, but MaxUpdater is now even faster. It loaded the 800 application info in under 6 seconds. It seems that serializing the read works best when all pieces of info are parsed with the code I wrote.

Now I start writing the code to handle the actual download and update. First update will probably be ready sometime on Sunday, because I have real life work to do also.

By the way, I will also give this to users of BeOS Max V3.1b1. The updates will start from that version. Any takers with unaltered Max V3.1b1 who wish to test it when it goes into beta?

Wednesday, January 24, 2007

Yab / MaxUpdater Testing performance

Yab amazed me today.

I tried to get MaxUpdater to show an extremely large number of applications and dynamically create tabs, views, checkboxes after reading a text file with the info needed.

What was the result? Well, not only did it do it for 800 applications, but it took only 14 seconds, when I was told that just reading a file of that size would take a lot longer. However that wasn't what amazed me. It was the fact that dynamically creating the 800 views (1 view per application) didn't take more than a few milliseconds and only raised the usage of memory by 1/7th (from 7500kb to 8600kb) !!!

This is cool. Hope I have enough time this weekend to get further along with the MaxUpdater. Next step is to do a real update/install of an app from the Internet repository. So keep watching this blog for more news of progress.

The mandatory screenshot.

Monday, January 22, 2007

D20 Dice Roller app for BeOS

The Be Dungeon Master Dice Roller 0.9 is now online for download at BeBits .

The break from Max Version 4 is over. Development will now continue. I plan to do a break every 7 days, work on a different app for 2 days and then continue on Max Version 4.

So, what kind of app would you like to see next? Please don't say a new Word Processor!!! Some simple app you think is missing from BeOS.

I am planning to do more apps for DMs in the future too as I have outlined.

Logic behind MaxUpdater

First let me say this: BeOS way of installation is excellent. It is simple and brilliant.

So after saying that, it comes to terms that MaxUpdater is not going to change that nor should it and neither should any other package management application in the future.

MaxUpdater is just going to help users find what they need, or want, or must install and do it as simply as 1-2-3. In fact it is just that:

  1. Open MaxUpater
  2. Select Application(s) you wish to install
  3. Press install
Simple yet brilliant? Well it is the BeOS way, only in fewer steps if you need to install more than 1 application at a time.

All the other features are just add-ons. Useful, but not essentials.

Sunday, January 21, 2007

Taking a break and DMing...

Yesterday I took a break and played a small Dungeon and Dragons game.

Before playing I did a little search to see if there are any programs on BeOS that can help Dungeon Masters (yeap, I am a DM... geeky heh?) and I found there is none. So today I decided to start a series of small programs. Don't worry, MaxUpdater and Max V4 are proceeding as scheduled. I just had a little more time off work....

So here we are. Introducing the BeOS DM Dice Roller

I will upload the program with the code as soon as one more feature is implemented.

Friday, January 19, 2007

more progress

MaxUpdater is progressing quite well. It now loads, parses and displays lists of Updates and Applications. It even creates categories on the fly and puts all applications belonging to a category on the correct Tab.

Next step will be to know what applications you have already installed, so they will be checked by default and shown on a different tab with installed apps. Unchecking them would mean unistalling them. Installed updates will not show on the list by default.

Now if anyone can help with making the interface better looking (I am a software engineer, not an artist) I would be very grateful.

Thursday, January 18, 2007

MaxUpdater progress

Milestone 1 was reached with MaxUpdater.

It can now use wget to download itself (or any other file) from our file repository and it also updates itself.

The code will be 100% open, so you anyone can review it. Also I have decided to add 1 more feature to MaxUpdater. The ability to create your own repository so others can add it to MaxUpdater.

What I am thinking of finally creating is something that will work like the CNR service of Freespire.

Any thoughts, ideas or coding help would be appreciated.

Tuesday, January 16, 2007

MaxUpdater System

Design of the updater system is progressing. Main functions I wish to include are:
  • Download and install critical updates automatically
  • Download and install applications on demand
  • Download dependencies and install with dependant updates
  • Uninstall option for non critical updates
  • Distribution of packages to other BeOS Max computers in the same network
For now, MaxUpdater get a list of update packages from my main download site. A full mock-up app will be created next and I will post screen shots as soon as it is ready.

Plans for BeOS Max V4

These are the things I am planning for BeOS Max V4 so far:

  • Update all available applications and drivers
  • Choose and include best application per type that is missing
  • Include all required stuff for Haiku development
  • Update system
  • User/Expert documentation system
If you think of anything else (that doesn't need mastery of C++ and BeAPI) post a comment.

Sunday, January 14, 2007

BeOS 5 PE Max Edition V4

Well, as you might have seen on BeOS News sites, I have posted info on the haikumax.org site on an upcoming version of BeOS Max.

It will be Version 4 to be exact.

So to answer the major question. Why?

First of all let me say that 3 years ago I told the community that V3.1 would be the last version of BeOS Max, since a commercial alternative had gone public. Zeta had a lot of success, but it also had a great failure. YellowTab wasn't viable as a single product company. So it had to sell the product and close.

Although Zeta is being developed, Magnussoft is not doing its best to keep it alive. I find it quite annoying that I have to return the product I purchased from Yellowtab, to get an upgrade. This for me is a show stopper. I don't want to wait in line at a post office, to send a package back to a company whose products I order from the Internet. I just don't have the time. (edit: This is only one of the things that Magnussoft did that bothers me.)

So I decided to go back to BeOS Max and see what I can do there, now that Haiku has made such progress. And although it doesn't support everything Zeta does, I found out that with a few tweaks and additions it is quite usable.

Finally, I decided to upgrade the installation of BeOS Max V3.1b1 to a more usable one, so I can transfer it to other PCs and at the same time find out what progress has been made in overall.

Please take note, that I am not promising a release yet, since I don't know when it will be ready, but I'll see what I can do and keep you up to date here and on the Haikumax.org site.

Vassilis 'vasper' Perantzakis

Wednesday, January 03, 2007

Not much to report...

but I thought I'll let you know I am alive :-)

Happy New Year. May this year bring an R1 release of our favorite OS, Haiku.

Although not much work has been done on YaGui or anything else on Haiku by me, I am here and I am planning a few things. I will post some news of my plans soon I hope.

Friday, September 29, 2006

Yab and YaGui

Yesterday, I resumed work on Yab (Yet Another Basic), and fixed a bug on a feature I had added, that allowed me to continue work on YaGui, a Visual Tool for creating programs with Yab.

For now, I fixed a bug in the creation and destruction of Windows in YaGui (although a small bug still lingers) and started work on the Properties Editor. It follows focus and gives info on Name, Caption, Width, Height and position of a Window.

However, the CVS version of Yab is not enough for the creation of YaGui, since it is missing a few features that were temporarily disabled to keep backwards compatibility. No problem there... I will fork it, until the code can be entered on the main source tree.

I will later post some screenshots, and I will keep you informed of my progress.

Tuesday, September 05, 2006

getprotobyname , getprotobynumber

In Zeta and BeOS those two functions are not implemented. In fact, BeOS doesn't declare them at all. However some posix compliant programs require them, although they don't use them, and a few use them. Yesterday I stambled on one of them and tried to find a solution.

What I did was I created for Zeta a new library, called libmoreposix.so and included a simple implementation of those functions, I found on Koders. And guess what? It seems to have worked!!! I will be posting the library up soon, for everyone to try.

Thursday, August 31, 2006

gettext

While compiling gettext for Zeta I found that the headers for libexpat (that is included in Zeta) where missing. Those files are expat.h and expat_external.h. So I downloaded a recent expat library and placed the headers in the include directory. This allowed me to fully compile gettext.

Testing the library with make check was a success.

The code for gettext for Zeta can be found on BeOSMaxFiles.org

Expat 2.0 library I downloaded for the headers is here.

libxml2

Trying to compile libxml2 on Zeta I have found that two additional libraries need to be included in the makefiles: libnet and libbsd. The first one contains functions such as closesocket and gethostname and the second one glob and globfree. These libraries aren't part of R5, so they should not be needed there.

After succesful compilation, running the tests is also a success.

Trial and Error....

I have been involved with BeOS/Zeta for several years now, ever since I tried BeOS 5 Personal Edition. However only recently I started programming on this OS and found it to be a great exercise for the mind.

Porting of a fiew programs and games and helping with the development of yab has helped me understand how BeOS Api works.

During my adventures with porting, I have found out that most problems can be overcome by simply changing a few lines of code or updating old system libraries with newer versions (provided they are opensourced).

A simple example is that Gcc 2.93 used by BeOS/Zeta cannot have a new variable declared after a call to a function, so all variable declerations are moved to the beginning of the function.

Another problem are missing defines from posix headers, but also those can be added, just by googling and finding out where they should go and what they declare.

Further yet, a missing implementation of flock function that I have found is used by newer autoconf can be overcome simply by editing sub lock in xfile.pm and just living it empty.

This blog will follow my porting efforts and will give you details on the changes I make and the applications/games I port.