(5 replies, posted in Programming)

as much as I love bash, I could never remember the crappy syntax to script in it.  my shell scripts always start out w/ #!/bin/csh tongue  not that I could use it as a shell, just easier to remember syntactically.


(14 replies, posted in General discussion)

elbekko wrote:

It seems to run smoothly tho, which I'm not used to with ASP apps.

because he's likely not using asp.net's bloated infrastructure to do this (at least I'd hope not).

a .net version of punbb seems perverse to me though.


(28 replies, posted in General discussion)

I'm actually quite impressed with the output of their forums now.  its all one big unordered list.  while v3 *looks* nice, I'm sure its not as easy to hack as punbb.  I think v3 is a complete rewrite of the original. 

mod edit happens on any code base when you have too many cooks in the kitchen and everybody is on a different menu.

google "byte order marks"

its the utf8 encoding header of the file.  I don't think the server should be encoding its output like that.


(15 replies, posted in PunBB 1.2 show off)

Rickard has said that he doesn't require the copyright, but appreciates it if you do.  when I first posted my site, folks hung me out to dry for not having it.  being a software engineer myself I can understand someone wanting credit (especially for a free product) but don't understand the zealously active "where's the footer" naysayers that abound. if you were publishing that site so that people could download it the way you have it and removed the credits... that would be one thing, but modifying the forum to fit your site is quite another to me.

I think you're fine leaving it out, but saying its punbb in your about page (and I def. wouldn't add mods / theme credit to that list if it were me) seems to be a nice gesture anyway.  adding the normal footer IMHO would be out of place given your over all user experience.


(15 replies, posted in PunBB 1.2 show off)

looks nice m8.  its cool to see people really integrating it instead of just throwing it on the site.  I've been too lazy to get mine that integrated but the results are nice.


(28 replies, posted in General discussion)

I motion to officially name that feature "seffancyprettyurls" (wp's removal of the / and space made me lol when I saw the url for the blog about it).



(3 replies, posted in PunBB 1.2 show off)

looks nice dude.


(5 replies, posted in Feature requests)

create a new group.  create a new forum, edit the permissions for that forum so only the members of the new group you just made can read / post to the forums.  change the groups of the ppl you want to see that forum.

you're using your objects like procedural statements.  oop isn't going to do anything for you in that scenario.  one thing I'd be interested in is seeing the performance difference in a real application.  a good sample would be to create code that hits a database, pulls records and posts them to a table.  the procedural one would need to do the normal steps, and the oo one on object creation would hit the database and give you access to the data through the object.


(6 replies, posted in PunBB 1.2 show off)

I'd still like to know how you're doing your seo urls.


(62 replies, posted in News)

wow. nothing says love your software like wanting to burn the house down if you have to pay for rent.  Its fine to live in for free, but if I had to pay for it...


(14 replies, posted in General discussion)

most .net forums you're going to have to pay for.  any free ones are going to be written by some kid while he's reading one of those C# in 30 days books, and its going to suck.

community server has forums, but you have to buy the software and at 300 bucks and they require you to keep their "Community Server" logo, and run their ads, thats a bit excessive ($450 w/ out those things is still a pretty sour price tag).

punbb's official distro is intentionally small.  it doesn't include a lot of features that other boards do (PM system, mass mailers, and so on), and once you take a look under the hood you'll see why. 

One of the nicest (IMO) things about it is that for the longest time there was only one developer who was very consistent about how the forum is written.  Its clean, and coherent.

His philosophy for the boards is to keep it a simple forum system.  there are so many moving parts on most other forum system that it gets easy to break something (I have a phpbb forum that has been broken for like 3 years because of a patch I applied, and I have been too lazy to try to find where its broken & fix it because its such an arduous task).  since punbb is pretty much free of that, there are less things to break (even with a heavily modded board).


(6 replies, posted in PunBB 1.2 show off)

looks great!  would you be opposed to sharing your url mod?


(4 replies, posted in PunBB 1.2 show off)

looks good.  better than the typical phpnuke/phpbb gaming site.


(13 replies, posted in Programming)

oop is a concept (which btw is not strictly enforced by C++ because of its interoperability with C) enforced by a complier or interpreter. 

to that end, the concepts produced by such a thought, when implemented in a language, provide more reliability of data integrity than languages that allow global access of data.

lets say for a second that punbb was an oo implementation.  data access, configuration, and functionality were totally internal / private.  lets say that it had an extension framework that consisted of a base "extension" object from which one could inherit and do whatever with.  by using this type of model, one could never access the actual pun_config or db objects and the maintainer of this board could ensure that no extension / plugin could ever take a board down because mods never have access to internal core code, variables, or functionality. 

in my opinion, procedural programming concepts just don't provide the necessary functionality to produce reusable, extensible and data protected applications.  scripting is another thing, that I'm leaving out of this, but just on a conceptual level, I sticking by what I've said.


(16 replies, posted in PunBB 1.2 discussion)

it would help if they could have changed selection of the combo box with every screen shot.

its a random bug.  chances are, those double posts are no longer there.  it shows up every now and then, then disappears.


(6 replies, posted in General discussion)

here's a handy little tool I take with me everywhere I go.


its a hash calculator.  so if you forget your password, you can log into your database and set a new one. 

check the lengths of the password fields in the database, if they're 32 characters long, use the md5 value, otherwise use sha 160.

type in a new password in the text: box and check off the appropriate hash function, and press calculate.  convert the upper case letters to lowercase, and update your password field in the database with the new hash, then log in using the new password.


(13 replies, posted in Programming)

but thats something completely different. 

only reason I say this is because most of my career I've been a platform developer.  producing an sdk which allows some random developer to bring your system crashing down is never a good thing.  A strict API for accessing the system is far safer than providing some global access to data that the "black box" uses. Its not always avoidable (esp when we're talking about kernel level driver interaction), but there is a reason why operating systems are written using OOP. 

In general (especially with crappy implementations which abound) I think web development is best suited in a quasi-oop manner, and there is a happy medium between component, and OOP in web development especially when you have a versatile language like PHP to work with.  outside of the web however, I think its far more reliable in a strict OO manner.


(13 replies, posted in Programming)

imagine you're the author of an operating system.  you give an sdk for others to develop on.  lets say you hold your file allocation table in a globally accessible variable named foo.  now I, an idiot programmer, create a hello world application, and declare the value of some variable named foo, to a null pointer.  oops...  yes, I'd have to argue that being able to enforce that no one will ever assign

$pun_config = null;

somewhere after its loaded from the cache and before anyone needs to use it, is a more reliable method. 

anytime you can guarantee that some core level code of an application cannot be modified outside of the means you prescribe, is (at least to me) a better, more reliable means.


(13 replies, posted in Programming)

Smartys wrote:
thechamp54 wrote:

OOP adds reliability to a program and it's more accurate

I don't think I've ever heard that argument before: how is OOP inherently more reliable and accurate?

inheritance enforces a common functionality.  encapsulation ensures that I never step on common variables that lead to hard to find, and hard to fix once found problems.  strict object oriented programming removes global functions and variables that typically forces the developer to place that functionality in some common object.

being able to segment code into namespaces / packages / libraries further encapsulates objects and their members.  inheriting leaves less room for error as children typically inherit parent classes functionality, which means you write an object (like a base business object) that contains core level functionality (like database persistence) and all 900 of your implementing objects contain the same functionality.  if you correct a bug in the base class, all 900 benefit from it. 

lastly, it saves time by being able to reuse specific application logic while hiding or overriding other functionality.

I hated OOP when I first started learning it, but now could not do without it.


(5 replies, posted in Programming)

one thing to check is that your connection is passive (if you are firewalled).  once you create a connection, press the advanced button and select the middle radio button for passive.

once you connect, right click on the file you want to chmod, and type in the chmod value in the text box, or check the appropriate check boxes, and click OK.