Programming Archives

Having recently announced the release of build 5110, the first new build of Freenet Classic Opennet (FCon) in well over two years it has occurred to me that it would be a good idea to put together a brief walkthrough of the installation process.

Because I’m a windows user and have never installed it on a Linux machine these directions are specifically for windows.  When I am able to I’ll do another walkthrough for Linux.

Freenet’s hardware requirements are, in modern terms, pretty mild.

Minimum:

400MHz Pentium 2, with at least 192MB of RAM.

Recommended:
1GHz or more processor with 256MB RAM or more.

As you can see most modern computers will far exeed these requirements.

*Note*

Back around 2004 I actually managed to run freenet on a 200mhz Pentium with only 64mb of ram running Windows 98.  It was very slow and sluggish but it worked enough to view freesites or use FIW to insert new editions of freesites

On my laptop with a 2.1ghz cpu and 2gb of ram I am able to run Freenet while running cpu intensive tasks like rendering high definition video and neither process will suffer any noticeable performance drop at all.

These steps should work the same on Windows 98, xp, and seven.  Windows Vista will probably be more of a pain but I don’t have a vista machine to test on.

1 get or already have Java JRE 7 from http://java.sun.com/javase/downloads/index.jsp

2 download the distribution archive at this url:

http://peculiarplace.com/freenet/downloads/freenet-0.5-build-5110.zip

and extract the archive to c:\freenet (or whatever directory you want.  I’m using c:\freenet for this example.)

3 use a plain text editor like notepad to edit flaunch.ini change the JavaExec= and Javaw= lines to point to where java.exe and javaw.exe are located. If you used the default install they will probably be in C:\Program Files\Java\jre1.7\bin\

4 edit freenet.ini

*note* remove the % from the beginning of any line you edit or freenet will ignore the change

You only need to edit these entries:

ipaddress=

If freenet cannot determine your IP address by itself, you will need to set it here.

listenport=

the port number that freenet will use to listen for incoming connections from other freenet nodes. You can change this to any number you like as long as it’s higher than 1024 and lower than 65535.  Do not use the same port number as another application

storeSize=

The size of the local data store.  The more space you allocate here the better.  It defaults to one gigabyte (1G) however you can increase this to however much space you can spare.

At this point you can save freenet.ini and close the editor.  It’s very likely that you could never need to edit this file again.

4-a make sure that incoming TCP traffic on listenport is forwarded to the computer freenet is running on (see your router or firewall docs for how to do this)

4-b optional (but very convenient), get a http://dyn.com/dns/dyndns-free/ domain name & use dynupdate to keep it pointed at your IP address, then put that name in ipaddress in freenet.ini

5 create a shortcut to “freenet.exe” and put it on your desktop, program menu or if you want freenet to start when the computer boots, put the shortcut in the “StartUp” entry of the program menu.

Double click on the freenet.exe shortcut to start freenet.  When Freenet starts, you’ll see the blue rabbit icon in your system tray by the clock.  Right-Click on it to start and stop Freenet.

To open the Freenet web interface you can either double click on the rabbit icon in the system tray, right click and select “open gateway” or just type http://127.0.0.1:8888 into your web browser.

*NOTE* The “Configure” option on that right click menu will try to run a utility called “Nodeconfig.exe” You are infinitely better off to simply stop freenet temporarily and edit freenet.ini yourself instead.  In most cases editing that file will be a VERY rare need.  Once Freenet is working you may well never need to edit it.

Because in my experience the “Nodeconfig.exe” utility has caused more problems than it’s worth by overwriting perfectly good freenet.ini files when all I wanted to do was tweak a setting I have elected not to include it in this distribution.

As a result, clicking “configure” will result in an error message because the program isn’t there.  Just dismiss the error message and use a plain text editor like notepad to edit freenet.ini directly.

Technorati Tags: internet, freedom of speech, fcon, censorship, anonymity, freenet 0.5, install freenet, install fcon, anti-censorship, privacy, encryption, freenet, anonymous publishing, freenet classic opennet, install walkthrough, censorship proof, install guide, install, freedom of speech online

FCon Build 5110 Is Now Available

[Edit June 8, 2012: The Freenet 0.5 network is effectively dead (see this post for details).  While you are welcome to try to make this software work and revitalize it, I know of no currently operating nodes.  If you DO get a useable network up and running, DO let me know.]

A long overdue new build of FCon (Freenet Classic Opennet a.k.a. Freenet 0.5) is now finally available. 

This is largely a maintenance build that should have been done a couple of years ago.  The default bookmarks have been updated and certain links & email addresses have been replaced with new ones.  The old ones pointed to the 0.7.5 fork of freenet which has almost nothing to do with this 0.5 version.

**Note** In order to use this build You will need Java JRE 7, which you can get at this URL:
http://java.sun.com/javase/downloads/index.jsp

If you are new to Freenet (Welcome!) This is the main distribution archive:
freenet-0.5-build-5110.zip

If you are simply upgrading an existing node you will need these two files:

freenet-stable-latest.jar and freenet-ext.jar

The source code for this build is here:

FCon-src-build-5110.zip

Other downloads:

Frost: Bulletin board and filesharing software that serves as the main public text messaging system within freenet.

frost-wot-10-17-2011.zip

It is also included in freenet-0.5-build-5110.zip.  Source code for Frost is located in the “source” sub directory of the frost Directory

If you’re starting up a new node you will need one of these

seednodes.ref

seednodes.ref.zip

seednodes.ref.bz2

They all contain the same data, the .Zip and .bz2 files are compressed to make the download quicker.  Use whichever flavor best suits your setup.

Technorati Tags: freenet, freedom of speech online, anti-censorship, internet, freenet 0.5, censorship, freedom of speech, fcon, anonymity, censorship proof, encryption, update, anonymous publishing, freenet classic opennet, privacy

Freenet 0.5 News: Build 5110 soon to be released

I have heard it said several times over the last few years that Freenet 0.5, known as Freenet Classic Opennet, is dead.

This is untrue.

As a matter of fact, freenet 0.5 is once again being developed.  I have started learning Java programming specifically so that I can contribute a much needed new update of freenet 0.5 and within a couple of weeks I expect to have the first new build (5110) available for download.

Because I’m just getting started with Java this first new build will mostly be a long overdue maintenance build.  The default bookmarks will be updated and some very old code that directs people to the original freenetproject.org site will be updated to point to equivalent pages on my freenet site.  This is because the developers at freenetproject.org no longer support or have anything to do with 0.5.  Instead they’re devoting their efforts to 0.7.x, a branch of freenet that I and many others have long mis-trusted for an assortment of reasons which I won’t go into now because I’m not up to writing a long post right now.

Instead I’ll address the biggest concerns in a series of upcoming posts.

In the meantime I’ll be working on 5110 and will announce here and on the Frost boards when it’s available.

Technorati Tags: freenet 0.5, freenet classic opennet, freenet update, download freenet, stable freenet, freenet, classic freenet

Redstone On (powered) Rails

In a recent post I was talking about some of the stuff I was trying to do with Redstone logic circuits in Minecraft.

One of those things was to address a problem with the new powered rails.  You have one or more powered rails at the end of a track and the way you launch the minecart is to put it on the last rail against a stop block, get in it, then flip a lever to activate the powered rails to send you and your minecart on the way.  That part works.

The problem is on the return trip if you cannot hit that lever fast enough to turn the powered rail off before you hit the stop block, the minecart will bounce off of it and send you sailing back to where you just came from.

I spent a few days working out how to use the detector rail, which works sort of like metal detectors, to stop that problem from happening.

I finally found the solution in an RS NOR latch.  I turned out to be elegantly simple.  The circuit has two inputs and uses one of two available outputs.  The first input comes from a pushbutton (used because it’s a momentary contact switch instead of the lever) which causes the RS NOR latch to send power to the rails to launch the minecart.

The second input comes from the detector rail (which is also a momentary contact switch) when it detects the outgoing minecart it causes the RS NOR latch to flip to it’s other state, turning the powered rails off, thus preventing that really annoying bounce that was happening with the lever controlled circuit.

Now I know that simply reading about this isn’t going to cut it for a lot of people so I made a video that shows the whole setup in detail. “Redstone For The Everyday Guy – Pushbutton Minecart Launcher

Technorati Tags: commentary, redstone cirtuit, adventure, rs nor, minecart station, minecraft gameplay, redstone, selif1, lets play, my minecraft adventure, test world, gaming, pushbutton, playthrough, detector rail, how to, lets play minecraft, minecraft, rs nor latch, lets, video game, booster rail, learning redstone, play, minecraft, minecart, powered rails, gameplay, pushbutton minecart launcher

Logic Gates And Powered Rails

One of the things that I like about Minecraft is something in the game called “Redstone”.  In game it’s an ore that you can obtain by mining.  When you mine a block of it, you get Redstone dust.  The special thing about this stuff is that it can be used to make an in game equivalent of electrical circuits.  These circuits are based on the use of basic logic gates such as the logical AND, OR, NOT, NAND, XOR and so on.

It’s used for everything from a simple circuit to switch the direction of a curve in a minecart railway to creating incredibly complex devices and computer circuits.  I saw one video in which somebody built a 16 bit Arithmetic Logic Unit in game that actually works.  Because it’s in-game it’s slow but the super cool part about it is that it works.

I’ve always had an interest in electronics in general and computer logic circuits in particular.  Back in the 1970’s I used to read everything I could find on the subject.  The unfortunate part is that I didn’t have money to actually buy parts and build circuits to test and play with.  This budgetary problem still exists today.

Minecraft and Redstone has changed that.  I recently started a test world, one where I’m playing with the difficulty level set to “peaceful” (which means no monsters will spawn) specifically so that I could experiment with Redstone and learn how to use it to build working logic circuits that would accomplish some in game task.

Partly I did this because I figure I’ll want to use it in my “real” game that I play on the hardest difficulty level and partly just because it’s absolutely fascinating to work with low level basic logic like this in a way that I wish I could have done 40 years ago.

Of course, it’s no easy task learning how to think out the logic of a task in a sufficiently basic, step by step elemental way that is required to be able to make even the simplest circuit work.  There’s been more than one time that I thought I was going to need a hair loss product or two because I was tearing my hair out (well, figuratively speaking that is).

You would think that it would be fairly simple to make something like an arrangement where three tracks come together and wanting the ability to not only select your destination before leaving, but have the system not only detect your arrival on returning and switch the track to send you to the right place.  In fact is NOT that simple at all.

Earlier this week I spent a full three days trying to figure out that exact problem.  Thankfully I finally did it and now when the time comes I will be able to use that circuit in my “real” game.

Then in a recent game update, Powered Rails were introduced.  They are intended to take the place of minecart boosters used for a long time that take advantage of some bugs in the program.  Since It’s been stated that eventually those bugs will be fixed I figured it only made sense to start working out how to do things with the new powered rails instead of using the boosters that rely on program bugs.

That has been every bit as challenging as what I’ve been doing with Redstone circuits.  Even more so because the rails are powered by Redstone and therefore they affect and are affected by nearby Redstone circuits.  It’s been quite a challenge to get things arranged so that both items work the way they’re supposed to.

This challenge has been complicated by a series of program crashes that started the very day I started trying to use the powered rails which tells me that on top of everything else they have bugs in them as well and it’s playing hell with my efforts to do anything with them.

I’m hoping now that the 1.6 update will come out soon and that those bugs will have been part of what it addresses.

Technorati Tags: logic circuits, minecart rails, redstone, electronic logic, electronics, binary logic, powered rails, computer logic, rails, minecraft, update, bugs, program update, program bugs

 Page 1 of 9  1  2  3  4  5 » ...  Last »