Bitcoin Forum
April 26, 2024, 04:55:12 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 »  All
  Print  
Author Topic: Looking for someone to create/modify software for this forum [5500+ BTC]  (Read 165567 times)
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
January 22, 2012, 09:42:23 PM
 #41

Although currently incomplete you can take a look at some of the .cpp source for my upcoming open source project at https://github.com/ciyam/ciyam - bet you've rarely seen code this neatly written (including the copyright comments at the top of each .h, .cpp file).

The first file I randomly clicked on was over 4000 lines long, contains no function documentation, huge stretches of if/elseif blocks (not sure if that's avoidable, but it's damn ugly), magic numbers in your switch blocks and huge code duplication.

I don't mean to crap on your work, but in any mildly successful software company that wouldn't get through a code review. It wouldn't get past me anyway and I'm not even employed as a software engineer.

Wow. I'd forgotten how ugly c++ is.  Thanks for the reminder to avoid it for large projects if at all possible.

1714150512
Hero Member
*
Offline Offline

Posts: 1714150512

View Profile Personal Message (Offline)

Ignore
1714150512
Reply with quote  #2

1714150512
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714150512
Hero Member
*
Offline Offline

Posts: 1714150512

View Profile Personal Message (Offline)

Ignore
1714150512
Reply with quote  #2

1714150512
Report to moderator
1714150512
Hero Member
*
Offline Offline

Posts: 1714150512

View Profile Personal Message (Offline)

Ignore
1714150512
Reply with quote  #2

1714150512
Report to moderator
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 23, 2012, 05:03:26 AM
 #42

The first file I randomly clicked on was over 4000 lines long, contains no function documentation, huge stretches of if/elseif blocks (not sure if that's avoidable, but it's damn ugly), magic numbers in your switch blocks and huge code duplication.

I don't mean to crap on your work, but in any mildly successful software company that wouldn't get through a code review. It wouldn't get past me anyway and I'm not even employed as a software engineer.

Well at least thanks for taking a look - I think you may not be very familiar with working with generated source code. Such code is (for most users) is not even something you would look at (ever used yacc?).

Because the code is generated the "magic numbers" are of zero problem (they will change automatically when regeneration occurs if required). The code is for the most part boilerplate and requires some replication of things in order to support "dynamic dispatch".

It is true I don't write a lot of comments as I learned (the hard way) that skillful programmers *read code* rather than comments (which inevitably become misleading as programmers tend to change code without changing comments).

Perhaps take a look at the file "ciyam_server.cpp" or "ciyam_client.cpp" to get a better idea of how I write code.

In regards to your last statement I did work as a member of the tech team that created on one of the biggest insurance software platforms ever created in Australia (company was called Paxus and eventually become owned by CSC), I also worked for Telstra (an Australian Telco that has thousands of employees) and for a very successful company Hardcat for over 11 years and I have never had any of my software fail to pass code reviews.


Cheers,

Ian.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 23, 2012, 05:16:57 AM
 #43

Also when developing applications using my platform you have *zero* need to be reading or writing source code - that is all done for you.

http://www.ciyam.com/videos/User.html

If you take a look at this video it shows how a minimal web application with login support is created.


Cheers,

Ian.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
BTConomist
Full Member
***
Offline Offline

Activity: 126
Merit: 100



View Profile WWW
January 23, 2012, 05:44:06 AM
 #44

Instead of assigning a budget to the project, let's use this opportunity to establish BTC-denominated prices for various types of skills needed to pull it off successfully. What I'm proposing is to solicit quotes per hour for various tasks (architecture, programming, testing, etc.) rather than quotes per milestone. Doing so would open up the bidding between all kinds of walks of life.

In a way, it will be a test of bitcoin's viability as a medium of exchange, rather than a speculative digital asset (or perishable gold, if you will). Most importantly, as the project begins to take form (one piece at a time), I have no doubt that some BTC miners (not to be confused with the gold-rush miners) would gladly make the necessary donations just to see the project completed. Who knows, this could become the very first open source project where every contributor gets paid in BTC. Think of the hype it may create in the media circles.

What do you say @theymos?

Bitcoins are earned, not traded! If you plan on hoarding BTC, you're on my target list. (And yes, it is possible to swim in BTC.)

Don't give me that Bull... I'm one of those honey eating Bears that the bees hope to never meet again... Viva la BTC!!!
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 23, 2012, 01:19:37 PM
 #45

I have used my software generation system to create a demo prototype for the forum software (it is only a demo so please don't expect it to be feature complete).

If anyone is interested in the link to try this system please send me an email (the link will only work when I am online as it is currently running on my laptop).

The following are some screenshots from the generated system:






Please note that only 1 line of *manual* source code exists in this demo (and it should be gone in the next day).


Cheers,

Ian.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
bitplane
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
January 24, 2012, 04:09:22 AM
 #46

Well at least thanks for taking a look - I think you may not be very familiar with working with generated source code. Such code is (for most users) is not even something you would look at (ever used yacc?).

Ah okay, it's fairly neat for auto-generated. Better than most disassembled stuff anyway.

It is true I don't write a lot of comments as I learned (the hard way) that skillful programmers *read code* rather than comments (which inevitably become misleading as programmers tend to change code without changing comments).
I wasn't talking about comments on individual lines or blocks of code, I actually meant function documentation. I can see that I've irked you though, so I won't offer any more critique as you didn't actually ask for it.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 24, 2012, 04:36:35 AM
 #47

Ah okay, it's fairly neat for auto-generated. Better than most disassembled stuff anyway.

Thanks - guess I should have mentioned something about that in the first place.

It is true I don't write a lot of comments as I learned (the hard way) that skillful programmers *read code* rather than comments (which inevitably become misleading as programmers tend to change code without changing comments).
I wasn't talking about comments on individual lines or blocks of code, I actually meant function documentation. I can see that I've irked you though, so I won't offer any more critique as you didn't actually ask for it.

Understand - and no real offense taken (the code review comment did get to me a bit having being a professional software engineer for over 20 years).

Documentation for this system is of course essential and something I will be working very hard on in the next few months (its mostly just a bunch of text notes which I have decided are not yet presentable).


Cheers,

Ian.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
nhodges
Sr. Member
****
Offline Offline

Activity: 322
Merit: 251


View Profile
January 24, 2012, 08:34:51 AM
 #48

I think most of this can be built on top of PunBB's existing architecture. It is highly modular, and designed from the ground up to be extensible at almost any portion of its code base. It also supports Postgres out of the box.

(You can check out the developer documentation and let me know what you think. Its codebase is also licensed under the GNU General Public License.)

Most of the features requested are very straightforward and their needs fulfilled by existing functionality or by the development of custom plugins. The only things that deviate this project from a "standard message board application" are the weighted post / weighted time online and the request for an implementation of a web-of-trust similar to freenet's messaging service / bbs. Both of these are possible, however quoting against those two items without a full spec on what's entailed (more so on the weighted time / post, I don't think I understand what you mean 100%) is difficult.

I'm interested in taking on this project but before I give my quote could you expand a little on the weighted time/post item?

ZodiacDragon84
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250


The king and the pawn go in the same box @ endgame


View Profile
January 28, 2012, 12:45:08 AM
 #49

I was wondering if I could sign on as an alpha or beta tester for whenever a release is scheduled.

Looking for a quick easy mining solution? Check out
www.bitminter.com

See my trader rep at Bitcoinfeedback.com
!
DourSiezel
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
January 28, 2012, 12:52:14 AM
 #50

What about invision power boards? i wonder what d2jsp uses.
osmosis
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile
January 28, 2012, 08:33:40 AM
 #51


Noticed arch linux uses http://fluxbb.org/  for their forum software. Looks very nice! ands its php since thats what you asked for. (i prefer python)

see https://bbs.archlinux.org/
nhodges
Sr. Member
****
Offline Offline

Activity: 322
Merit: 251


View Profile
January 28, 2012, 09:42:18 AM
 #52

What about invision power boards? i wonder what d2jsp uses.

d2jsp uses a custom fork of IPB. njaguar himself made most of the modifications.

Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
January 30, 2012, 06:37:58 PM
 #53

Security
Use salted multi-iteration hashing for passwords using one of the SHA-2 algorithms. Passwords in the existing SHA-1 format need to be automatically upgraded once the user logs in again.
So while doing some research last night, my partner found http://codahale.com/how-to-safely-store-a-password/

I think the article makes a valid point.  What do you think, theymos?  Maybe bcrypt(SHA-256(password)) if we want to be uber paranoid

theymos (OP)
Administrator
Legendary
*
Offline Offline

Activity: 5180
Merit: 12900


View Profile
January 30, 2012, 09:23:48 PM
 #54

I prefer traditional iteration-based hashing. Its properties are better-known. I'd probably just use crypt(). (With a modern hash algorithm and many rounds, of course.)

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
BinoX
Full Member
***
Offline Offline

Activity: 140
Merit: 100


View Profile
February 04, 2012, 03:55:08 PM
 #55

I will be submitting a bid next week (11th Feb) if that's not going to be too late. I finally have a break between projects.

This is just so you know that one is coming and don't give up waiting because you think they're all in.
stcupp
Full Member
***
Offline Offline

Activity: 209
Merit: 100


View Profile
February 05, 2012, 06:01:33 AM
 #56

The first file I randomly clicked on was over 4000 lines long, contains no function documentation, huge stretches of if/elseif blocks (not sure if that's avoidable, but it's damn ugly), magic numbers in your switch blocks and huge code duplication.

I don't mean to crap on your work, but in any mildly successful software company that wouldn't get through a code review. It wouldn't get past me anyway and I'm not even employed as a software engineer.

Well at least thanks for taking a look - I think you may not be very familiar with working with generated source code. Such code is (for most users) is not even something you would look at (ever used yacc?).

Because the code is generated the "magic numbers" are of zero problem (they will change automatically when regeneration occurs if required). The code is for the most part boilerplate and requires some replication of things in order to support "dynamic dispatch".

It is true I don't write a lot of comments as I learned (the hard way) that skillful programmers *read code* rather than comments (which inevitably become misleading as programmers tend to change code without changing comments).

Perhaps take a look at the file "ciyam_server.cpp" or "ciyam_client.cpp" to get a better idea of how I write code.

In regards to your last statement I did work as a member of the tech team that created on one of the biggest insurance software platforms ever created in Australia (company was called Paxus and eventually become owned by CSC), I also worked for Telstra (an Australian Telco that has thousands of employees) and for a very successful company Hardcat for over 11 years and I have never had any of my software fail to pass code reviews.


Cheers,

Ian.


Don't feel bad I never write comments either  Tongue
I do as you said and just read the code
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1075


Ian Knowles - CIYAM Lead Developer


View Profile WWW
February 05, 2012, 06:55:59 AM
 #57

Don't feel bad I never write comments either  Tongue
I do as you said and just read the code

Smiley

Yes - I learned this the hard way by embarrassing myself in front of a *guru* in my first full time programming position by making an assumption about what the code did from an out of date comment.

He was at least kind enough to set me straight - "Ian don't forget that the compiler can't understand the comments". From that day on I learned to "read code" and became a much better programmer because of it.


Cheers,

Ian.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
bitplane
Sr. Member
****
Offline Offline

Activity: 321
Merit: 250

Firstbits: 1gyzhw


View Profile WWW
February 06, 2012, 08:27:01 PM
 #58

I know that this is getting off-topic, but this really bugs me. Software engineering is more than just writing and debugging code, you need to be able to design systems and document them too. Programming is the easy bit, design and documentation are IMO much harder problems, and if you aren't documenting then you're missing out on valuable experience in your journey as a developer.

Comments can only go out of date if you describe what the software is doing, which isn't the way to write comments. Good inline comments describe the whys and don't go out of date when the how changes, this is exactly what makes them a difficult ordeal because as codemonkeys we're used to dealing with hows without really pondering the whys. Good function comments describe the interface rather than the implementation, if they go out of date then you can almost guarantee that you've introduced bugs because you've broken your interface.

I don't even claim to be good at it myself, but I do practice and try to improve.
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
February 06, 2012, 10:40:41 PM
 #59

I know that this is getting off-topic, but this really bugs me. Software engineering is more than just writing and debugging code, you need to be able to design systems and document them too. Programming is the easy bit, design and documentation are IMO much harder problems, and if you aren't documenting then you're missing out on valuable experience in your journey as a developer.

Comments can only go out of date if you describe what the software is doing, which isn't the way to write comments. Good inline comments describe the whys and don't go out of date when the how changes, this is exactly what makes them a difficult ordeal because as codemonkeys we're used to dealing with hows without really pondering the whys. Good function comments describe the interface rather than the implementation, if they go out of date then you can almost guarantee that you've introduced bugs because you've broken your interface.

I don't even claim to be good at it myself, but I do practice and try to improve.
Well said. I'm not putting in my bid until basic unit tests and documentation are ready.

M4v3R
Hero Member
*****
Offline Offline

Activity: 607
Merit: 500


View Profile
February 06, 2012, 10:46:21 PM
 #60

What's the status of this? Does anyone actually code something, or are we still waiting for theymos to pick an offer? If yes - is there still time for placing offers?
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!