Thoughts on Rails

Riding the Train of Thought

Archive for the ‘computers’ Category

Picasa 2 works on PCBSD!

with 2 comments

Good news!

There has been a long long wait for Google’s Picasa on FreeBSD / PCBSD. And the wait is now over… if you are running PCBSD, just go get the latest Wine 0.9.32

Step 1: Install Wine – double click on the .pbi file and follow on-screen instructions.

Step 1.1: Install arial.ttf in c:\Windows\Fonts ( /home/username/.wine/drive_c/windows/fonts )

Step 2: Install Picasa – start up konsole, navigate to the directory where your Picasa installer is located ( cd /home/username/Desktop/ ) and run the installer by typing ( wine picasa2-current.exe )

Step 3: Thank the Wine Team and enjoy!

Written by hiway

April 5, 2007 at 5:36 am

Mute Master Volume – Script for FreeBSD/PCBSD

with one comment

For the FreeBSD users, there’s a bit of a problem when using laptops -
the special volume buttons are usually not automatically recognized.
The following page helps in configuring that:

http://blackk.union.edu/~black/freebsd/

For configuring the keypress/command association, we use the following port:

x11/xbindkeys

You might want to install the following port for making configuring
xbindkeys easier:

x11/xbindkeys_config

Now, there’s only one issue – the volume cannot be muted and unmuted
to its original setting automatically, here’s a small shell
script that resets volume to 60
[http://blackk.union.edu/~black/freebsd/xbindkeysrc]

I wrote a python script that uses commands from above file and
adds persistence of volume setting while automatically muting or
unmuting each time the script is called, also it relies heavily on
UNIX commands – since this script is necessary only on UNIX/FreeBSD.
It will not work under windows.

It also has a nice feature – soft fade-in / fade-out (configurable via script). Especially useful when you mute at high volume and forget it… then play some loud music and unmute – if done using this script, it might not shock with you with sudden loudness. :-)

All configuration is kept inside the script to keep usage of the script as easy as possible – just a call:

./mutetoggle.py

Hope it is useful to anyone looking to solve this or similar issue…

Here’s the file: mutetoggle.py.txt

Written by hiway

March 5, 2007 at 6:53 pm

BSNL Broadband Slow Like Hell

with 51 comments

It is 3:43 am, when most other users are offline, I am trying to download KDE 3.5.5 source packages for my newly installed FreeBSD 6.2 on AMD64 machine – I am using a 256 Kbps BSNL DataOne Broadband connection. On January 2007, BSNL announced that it has upgraded all users for speeds upto 2 Mbps. Yes, I enjoy the speed – and I am thankful to BSNL. However, as I watch the progress of my downloads, there’s nothing else than “SHOCK” that awaits me.

Here’s a sampler from my Python download session:

Python-2.4.3.tgz                                5% of 9129 kB 3775  Bps 39m04s

3775Bps, around 3 KBps which comes around to 3*8 = 24 Kbps. Am I being served 10 times slower internet or what?

This is not just for one or two downloads. I tried reconnecting, hoping vainly that things might magically sort themselves out. I tried to check my DNS settings (Regular and OpenDNS both) both resolve fine. This is not the first time this has happened. It’s becoming a regular P.I.T.A., and I’m very much frustrated with it. If BSNL decides to make the 2 AM to 8 AM block free for all users (no charges for downloads) then they should at least give the minimum promised 256 Kbps speed!!! 24 kbps is just #$%@#$% #%$@@.

Written by hiway

March 5, 2007 at 3:55 am

Posted in BSNL, computers, Internet

Panther going to the vet…

leave a comment »

That’s jungle code for “my machine is going to be upgraded now.”

Hopefully, I have all the backups in a good shape. I’ve just made sure – but with machines, you never can be really sure. Have the AMD64 version of FreeBSD ready to leave its mark on my system. I’m loving PCBSD, but it is 32bit only, my machine sports a AMD Turion 64 processor – better use the power!

Will try to set things up as they are (or at least very close to as) in  PCBSD 3.3. If I’m able to do that in the next few hours/days/weeks/months/who knows when, I’ll be a happier man! No, I’m not planning on PBI support, I like ports tree more – and I just realized, The FreeBSD Foundation has Java binaries available for most of our systems… great! Because I hate compiling java by hand (those who have tried it, know what I mean ;-)

Here’s the link.

I’ll be gone, not for long – cause I do have 3 other machines (actually, with friend’s machines lying here… those can be 5 spare machines) to come online if I mess this up! So no worries mates! I’ll just be busy, living on pure caffeine and rock music for the next few hours/days/… whatever :-)

Written by hiway

March 4, 2007 at 4:55 am

Mounting samba share with write permissions for regular users

with 4 comments

I have tried looking for this information on the Internet but have successfully managed to make myself look dumb. I found nothing for three consecutive days (nights, actually – mostly I sleep in the day, work at night!) I proudly say this – “I may not know everything, but I know where to find it.” But these three days left me increasingly frustrated at the inability to solve a simple problem. Recent trends are showing that I am finding less and less relevant information in my searches. I’m afraid… am I losing the search-fu skillz?

So anyway, rants aside – this is what I was facing:

I have set up samba on my computer named Jaguar, it runs PCBSD 3.3, I wish to access the samba share from Panther, which also runs PCBSD 3.3. I can simply point Konqueror to “smb://192.168.0.2″ (the IP address belongs to Jaguar) and I am able to read and write to the share.

Trouble begins when I try to mount the share using mount_smbfs command. I have configured the share to be public, writable and also allowed guests – also, security is on share basis – so no passwords are required. I add the “-N” switch to my mount_smbfs command to disable password prompt.

mount_smbfs -N -I 192.168.0.2 //guest@192.168.0.2/shared /home/harshad/shared

It mounts the samba share, I am able to read the files… but I cannot write to them. And trying to solve this problem took a good amount of time. I know – it should be simple. And trust me – it is simple. You only have to know how to use two simple switches – “-g” and “-u”.

They tell mount what should be the group id and user id for the mounted filesystem. So, go ahead, look up your user id (uid) from /etc/passwd and group id (gid)for whichever group you wish to allow write access to and substitute in the following command:

mount_smbfs -N -u 1002 -g 10 -I 192.168.0.2 //guest@192.168.0.2/shared /home/harshad/shared

That sure fixed my problem – and I hope it can help you too.

Thanks to: ##FreeBSD channel on freenode.net (IRC)

Written by hiway

March 2, 2007 at 5:24 am

Beagle on PCBSD / FreeBSD – IT WORKS!!!

with 4 comments

Continuing on my rant a few hours ago… days, hours, they seem all the same when I’m toying with computers… anyway…

So I tried installing Beagle, the fantastic desktop search comparable to Google Desktop and Spotlight from Mac, and I failed miserably. Apparently, Beagle uses a few linux-specific tricks, which are not available on FreeBSD.

Somehow, I failed to notice the work done by BSD# team. My bad. Really, because they have a port ready for FreeBSD since last few months (that’s what the CVS repository seems to be saying) and it compiled and installed painlessly as far as my experience goes. I’m only very slightly annoyed that it downloaded and installed evolution, a rather large application – that I never use. Dependencies… well, sometimes I thank the FreeBSD guys that the ports system does the work of driving me up the wall – at least like RPM, it doesn’t coax into driving yourself up the wall. Bad pun I guess, nevermind – thoughts start getting dizzy and confusing when you are at the desk for more than 14 hours.

Ok, back to the rant. So I installed Beagle, and right now, as I type, the beagle daemon is indexing my files. Sweet!

Only one small issue: it is not easy to get the files – Beagle is not included in the standard FreeBSD ports tree, and there seems to be no simple way of getting the required files and start compiling. After hunting around the website, you find the CVS repository… from that point you either have to know CVS, or have to browse the repository and save each file to your disk, in the proper directory hierarchy and then copy the directory named “beagle” into “/usr/ports/deskutils/” and then run “make install”.

I’m hoping it is included in the standard ports tree soon because Beagle seems like a very sensible and useful tool.

Cheers to people working on Beagle, BSD#, PCBSD and FreeBSD! Long live Open Source!

Written by hiway

February 28, 2007 at 3:26 am

Open Source Photography Workflow Management Software

with 2 comments

A few days ago, I stumbled upon a nice application. From the website it looks nice and might soon contain every feature that I want – I haven’t been successful in making it run on my system (yet).

First of all, it is a Java application… and FreeBSD/PCBSD isnt exactly Java paradise. Yes the support is improving fast, and I’m happy about it :-) So, after downloading the “jar” file, I tried double clicking in Konqueror file explorer – which promptly opened the archive and showed me the files inside. Hmm… not exactly what I wanted to do.

So I fired up Konsole and issued the command

jar blueMarine-0.8.6-setup-linux.jar

For which is gave a rather confusing reply:

Exception in thread “main” java.lang.NoClassDefFoundError: blueMarine-0/8/6-setup-linux/jar

Yes folks, I am an outsider to the Java world. I usually am clueless about how things work here. So I searched on the Internet and found nothing that said somebody had the exact same problem and how they solved it. So, I realized that I was probably on my own for generalizing the problem, finding out a generic solution and then applying it here. So after searching a bit, I found out that Java was unable to find the “classpath” for the given jar file and it makes no assumptions that the classes might just be in the same jar file… and so we have to tell it exclusively – it’s in the same file dangit!… well, for a computer to understand that, the command is:

java -jar blueMarine-0.8.6-setup-linux.jar

Finally, (wait, its not really finally) it worked! The interface loaded and complained that I have Java 1.5.0 while it needs 1.5.0_05! So until I make up the mind to try and upgrade Java (which isn’t a lovely process on this Operating System) I’m going to do something else (which includes having a cup of tea or sleeping). I need to make my mind up soon! :-D

*sigh* sometimes, I really dislike softwares. Whoever said that computers make life easy, hasn’t really ever used one.

Oh, and if you are curious, here’s the link to blueMarine: http://bluemarine.tidalwave.it/

Written by hiway

February 26, 2007 at 4:43 pm

Beagle on PCBSD / FreeBSD – I tried… :’-(

leave a comment »

UPDATE: I have successfully installed Beagle on PCBSD 1.3.3 / FreeBSD 6.1

NOTE: Later install http://en.opensuse.org/Kerry for KDE integration

1. Got Beagle sources, decompressed, run ./configure
It complains that I don’t have mono installed… right…

2. Installed lang/mono

3. Installed x11-toolkits/gtk-sharp20

Packages NOT found in the ports tree:
gnome-vfs-sharp-2.0′
gconf-sharp-2.0
glade-sharp-2.0

Packages found in the ports tree:
mail/gmime2-sharp
x11-toolkits/gnome-sharp20

4. Installed gmime-sharp

5. Compiling gnome-sharp20

Traceback (most recent call last):
File “/usr/local/bin/xml2po”, line 34, in <module>
import libxml2
File “/usr/local/lib/python2.5/site-packages/libxml2.py”, line 1, in <
import libxml2mod
ImportError: /usr/local/lib/python2.5/site-packages/libxml2mod.so: Undef bol “xmlPathToURI”

Problem seems difference in library version and python wrapper version:

libxml2-2.6.26 XML parser library for GNOME
py25-libxml2-2.6.27 Python interface for XML parser library for GNOME

6. Installing libxml2-2.6.27

7. Back to compiling gnome-sharp20, done.

8. The dependencies that were NOT found, seem to be automatically satisfied now. Good!

9. ./configure in beagle directory is successful

10. Building Beagle:

panther# gmake
gmake all-recursive
gmake[1]: Entering directory `/usr/home/harshad/Programming/beagle-0.2.16′
Making all in po
gmake[2]: Entering directory `/usr/home/harshad/Programming/beagle-0.2.16/po’
file=`echo ar | sed ‘s,.*/,,’`.gmo \
&& rm -f $file && -o $file ar.po
-o: not found
gmake[2]: *** [ar.gmo] Error 127
gmake[2]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16/po’
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16′
gmake: *** [all] Error 2

11. http://article.gmane.org/gmane.comp.video.thoggen.devel/274
It basically says that msgfmt program on my system could be causing this… but following its steps, I think i see sane output.
panther# grep msgfmt config.log
configure:21975: checking for msgfmt
configure:21993: found /usr/local/bin/msgfmt
configure:22006: result: /usr/local/bin/msgfmt
ac_cv_path_INTLTOOL_MSGFMT=/usr/local/bin/msgfmt
INTLTOOL_MSGFMT=’/usr/local/bin/msgfmt’

12. What is going wrong?

In the file ./po/Makefile
.po.gmo:
file=`echo $* | sed ‘s,.*/,,’`.gmo \
&& rm -f $$file && $(GMSGFMT) -o $$file $<

Now, I’m basically replacing $(GMSGFMT) with the full path of msgfmt ( /usr/local/bin/msgfmt )

For now, YAY! it seems to work.

13. F%*&K. That’s all I can say…

thread-glue.c:30:26: linux/unistd.h: No such file or directory
gmake[2]: *** [thread-glue.lo] Error 1
gmake[2]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16/glue’
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/harshad/Programming/beagle-0.2.16′
gmake: *** [all] Error 2

Looks like this bugger isn’t going to run natively… it needs a linux specific library.

http://lists.freebsd.org/pipermail/freebsd-hackers/2003-July/001883.html

The above link practically says that this program cannot run as native under FreeBSD. Or so I understand…

Now backtrack all the way, I don’t feel like uninstalling the applications that I just installed.
Onwards to Plan B: linux binary compatibility layer.

14. Reading about installing commercial linux applications on FreeBSD

http://www.onlamp.com/pub/a/bsd/2006/01/12/Big_Scary_Daemons.html

15. Reading about installing software on FC4 (since I have linux base fc4 on my machine installed and running)

http://www.antezeta.com/beagle-fedora.html

16. Installed rpm (not rpm4) from the ports tree.

17. Oh Boy!

panther# rpm -i –ignoreos –dbpath /var/lib/rpm –root /compat/linux beagle-0.2.1-2.1.fc4.nr.i386.rpm
error: failed dependencies:
/bin/sh is needed by beagle-0.2.1-2.1.fc4.nr
/bin/sh is needed by beagle-0.2.1-2.1.fc4.nr
/usr/bin/pdftotext is needed by beagle-0.2.1-2.1.fc4.nr
chmlib is needed by beagle-0.2.1-2.1.fc4.nr
epiphany >= 1.8.0 is needed by beagle-0.2.1-2.1.fc4.nr
evolution-sharp is needed by beagle-0.2.1-2.1.fc4.nr
gmime-sharp is needed by beagle-0.2.1-2.1.fc4.nr
libICE.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libSM.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libX11.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libXss.so.1 is needed by beagle-0.2.1-2.1.fc4.nr
libatk-1.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.0) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.1) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.1.3) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.2.3) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.3) is needed by beagle-0.2.1-2.1.fc4.nr
libc.so.6(GLIBC_2.3.4) is needed by beagle-0.2.1-2.1.fc4.nr
libcairo.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libdl.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libgdk-x11-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgdk_pixbuf-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libglib-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgmodule-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgobject-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libgtk-x11-2.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libm.so.6 is needed by beagle-0.2.1-2.1.fc4.nr
libpango-1.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libpangocairo-1.0.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
libpng12.so.0 is needed by beagle-0.2.1-2.1.fc4.nr
librsvg-2.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libwv-1.0.so.3 is needed by beagle-0.2.1-2.1.fc4.nr
libxml2.so.2 is needed by beagle-0.2.1-2.1.fc4.nr
libz.so.1 is needed by beagle-0.2.1-2.1.fc4.nr
mono-core is needed by beagle-0.2.1-2.1.fc4.nr
sqlite2 is needed by beagle-0.2.1-2.1.fc4.nr
zip is needed by beagle-0.2.1-2.1.fc4.nr

OK, at this point, I feel like just throwing this thing away and enjoying a good night’s sleep – it’s already 1:30 am. Frankly, so much hassle for one software is too much. TOO MUCH.

uname -a inside Linux binary compat shell:
Linux panther 2.4.2 FreeBSD 6.1-RELEASE-p13 #1: Mon Feb 12 06:38:43 IST 2007 i686 athlon i386 GNU/Linux

I try installing one software at a time… but it has many other dependencies… sheesh! Creeps me out. I’m not done installing a single software yet – because every rpm that I try to install wants many more rpms… BLAH! I’m giving up for today.

Written by hiway

February 23, 2007 at 1:58 am

The Future of Coffee Machines

leave a comment »

Let us imagine, you have a few thousand Rupees to spare so you go out shopping. Being the hard-working person that you are, you need some caffeine to squeeze that 25th hour out of the day. A good decision – you purchase the brand new Panorama Coffee Maker. It has the capability to download the latest coffee recipes off the Internet and can serve you different styles of coffee from espresso to Mexican mocha.
It also has one nifty feature – suppose you want to make a cup of orange coffee, all you have to do is get a small brown box labelled “ingredients for orange coffee” from the shop and attach it to your Panorama Coffee Maker. From that point onwards, you can enjoy as much orange coffee as you like!

You have been told that you should not try to tinker, or the Panorama Coffee Machine will stop functioning. “That’s fair enough.”, you think to yourself as you slide in your favourite mug for another refreshing dose.

“ERROR! RECIPE PROTECTING CUP NOT FOUND!” The Panorama Coffee Machine screams at you. You are slightly shocked at what you just heard… all you did was use *your favourite* mug instead of the one that came with the Panorama Coffee Machine! You try to press the buttons to coax the machine into pouring some coffee but it plainly refuses to budge.

Smart machine! So you put the recipe protecting cup into the machine and it promptly fills it with sweet caffeine. You take your fave mug in one hand and try to pour the coffee into it – but the smart cup detects the absence of lips on the edge and swiftly blocks the coffee from falling out. Huh?! You try to put in a straw and it gets zapped by invisible lasers. Whoa! That is hi-tech!

Well, it lets you pour out the coffee, but only after the cup removes all the special ingredients – what you get is tasteless brown hot liquid.

You love this coffee maker because it makes you so many varieties of coffee at your convenience… but you can’t stand the smart coffee cup – you cherish the mug your buddies bought you for your birthday. The geek inside you comes to life, you set out looking for a smart cup that might spill some coffee. After long nights working on a hack, you find a way to make the original cup give in and you smile as you pour the coffee into that lovely mug.

The news is out soon, your friends who own such machines want to know how to get *their* coffee in *their* mugs. You tell them how and everybody rejoices.

A few days later, you wake up to get your coffee and the Panorama Coffee Maker barks out “ROGUE CUP! NO COFFEE FOR YOU!”. After a lot of persuading, tinkering, smashing you decide to skip the coffee and turn on the TV. Everybody is complaining that their Panorama Coffee Machines are refusing to work! The world is in chaos!

Panorama Coffee Maker’s manufacturers found out that the smart cup they were supplying was compromised and people were drinking coffee in their own mugs – which meant that people could find out the secret recipes. The people who sold these recipes and the ingredients were very angry that the smart cup was not “robust” enough. So the company decided to revoke the authorization for ALL the stock smart cups!

Now, only people who had already bought smart cups from different vendors and authorized them early are able to have their coffee. Some people tried purchasing a new smart cup but were greeted with a very unfriendly message telling them that they needed to re-register their coffee maker to work with the new cup.

You remember that it was not so a few years back. You could get a recipe for free from the Internet – people loved to share their creations. And that there were actually a few coffee machines like the Panorama Coffee Maker that could use the freely available recipes and needed just plain raw ingredients – no closed brown boxes. But the recipe makers decided that it was time to make more money, The company that made the Panorama Coffee Maker decided that it was time to get the competition out of the way and an alliance was formed.

This alliance declared that nobody is to be trusted – not even the people who pay for the coffee. If their recipes are leaked out, it would mean the end of the world! So instead of the simple, inexpensive coffee machines, the market started seeing a whole new bunch of snazzy looking gadgets that claimed that they could make any type of coffee available on the earth… eager to enjoy, people purchased the new machines and let go of the old ones.

The alliance also declared that the ingredients will be sold in closed boxes that only the Panorama Coffee Maker can open. If anyone tries to sell the ingredients out in the open, they will be persecuted and sale of their product will be stopped immediately, also their license will be revoked. Same applied or the smart cups – if they could not deliver coffee from the machine to the user in a very secure manner – they would lose the permission to do business. If one cup failed, they would have to redesign the future cups and also provide the current cups with a new “patch” to make them more secure. And for the time that these cups are fixed – every person owning the cups will not be allowed to drink coffee from that cup.

And the bad part was – all this security needed a lot of extra gadgetry – and the customers were made to pay for it.

The alliance also declared that the recipe must not be made to perfection – the Panorama Coffee Maker deliberately reduced the taste while pouring into the smart cups so that it would be more difficult to guess the recipe from the flavoured steam that rises from the cup. Then the cup was supposed to amplify the taste as the coffee touches the edge of the cup and passes into the customer’s mouth. This meant that there would always be less quality in the coffee – but it was deemed necessary for the security of the recipes.

To top it off, if a company designed a new secure smart cup, its security was to be tested by none other than the recipe makers. You had to have a written permission from at least three big recipe makers before you could get authorization from the company.

You sink deep into this nightmarish scene… wondering why didn’t you realize this plot in the beginning. You remember people screaming about it in the streets. You remember thinking “this will never happen to me”. You remember the smell of home-brew coffee and your favourite mug!

Suddenly you realize that we are only imagining this scenario…

Welcome back! If you read the whole thing and if you think that this is ridiculous, you should see what Microsoft is planning with Windows Vista. I’ll rather not repeat – Peter Gutmann has done a great job in documenting it all very clearly. Please, take the time to read his words – they are very important

http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html

Written by hiway

February 1, 2007 at 2:35 pm

FreeBSD, Wine, IrfanView and Python

with 7 comments

Wine support in FreeBSD isn’t exactly as fine as it is in Linux… or so I hear. Maybe they are right – because I wasn’t able to run Picasa2, neither was I able to run the latest version of Winamp (even without themodern skin). The fun part was that the installations go super smooth… but the applications don’t run at all.

Then I decided to try a small application, one that I was using everyday when I was on Windows – IrfanView 3.99. The shock came when the installer refused to work! Apparently one dll file, the mfc42.dll was not found on the (wine) system. Getting the file wasn’t painful. [ search ] But the program kept getting creative with the error messages.

Finally I decided to try installing version 3.95 of the program and it worked!

Now I had a working IrfanView, but it was still not the default application for image files. So I tried setting it in Control Centre/ Open With in KDE. Nothing seemed to work.

Finally I came across a discussion where it became apparent that IrfanView cannot handle UNIX style forwad slashes in the filename. The solution was to write a script that changes the slashes to windows-style backslashes and then calls IrfanView.

So I wrote a small script that should make life easy for me. It converts the slashes and calls appropriate program via wine for a given file extension.

Now all I have to do is install the Windows programs into wine, update my script to associate the programs with extensions and point KDE to the script which automatically calls the right application.

Somewhat redundant, but I think it serves the purpose for now. I’m looking for a way to find out the proper associations from wine itself and not have to maintain a list of file handlers.

Here’s the code: launchWineProgram.py

Written by hiway

January 21, 2007 at 9:39 pm

Posted in computers, python, software

Follow

Get every new post delivered to your Inbox.