Bitcoin Forum
April 25, 2024, 12:52:13 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 [2057] 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 ... 2557 »
  Print  
Author Topic: NXT :: descendant of Bitcoin - Updated Information  (Read 2761527 times)
jl777
Legendary
*
Offline Offline

Activity: 1176
Merit: 1132


View Profile WWW
March 06, 2014, 11:14:05 AM
 #41121

If you´ve read my PM, I am trying to help you build a core dev team...

Yes, I need to think about how this should be done. Before the source was public, the problem was how to decide who is trustworthy. Now that it is open, how do we decide who is good enough?

Companies conduct technical interviews. Those will filter out the completely ignorant, but for more experienced people it becomes difficult to judge who is better. I am also not confident in my own skills as an interviewer, and also some good people perform bad at interviews because of the stress and pressure to perform. Especially for an open source project, I don't feel doing interviews is the right approach.

For paid developers, we could consider trial projects, which they would do on their own fork of the repository, and if at the end we like the code and integrate it into the main repository, we accept them as paid developers. This would mean they would have to spend a few weeks without pay at first. Or, we can take the risk and do it as a one month paid contract, with the option of making it permanent. This would be something the NXTtechdevfund committee should discuss.

I would need to research how other open source projects decide who to accept and trust, e.g. how the linux kernel development is organized, and see if we can adopt their project management practices.

In terms of skill set, being a very good Java developer is the only requirement. The code does not depend strongly on any specific tool or library. We use a database, so some familiarity with relational database and SQL is needed, but there are enough areas of the code one can work on without touching the database at first. We also use servlets and Jetty, so again familiarity with servlets and the http protocol would be helpful, but most Java developers already have that.

Good object-oriented design skills are essential. So is writing clean and maintainable code. For developers with main background in languages other than Java, I can tell immediately that Java is not their native language - I have seen lots of Java code that reads like C. The original BCNext code was very foreign too, so I had to rewrite lots of it. So for somebody coming from C/C++ background, if this is going to be their first Java project, they would need to learn a lot, so that the code they add actually reads like Java.

In addition to Java developers, and in fact much more urgently, we need a good cryptographer. This person doesn't even need to be that fluent in Java, the language background wouldn't matter (well, he should at least be able to read and understand the Java code). But I don't have much cryptography background myself, so this is an area where we currently lack skills, especially after the departure of BCNext.


Thank you very much for your detailed answer!

"For paid developers, we could consider trial projects, which they would do on their own fork of the repository, and if at the end we like the code and integrate it into the main repository, we accept them as paid developers. This would mean they would have to spend a few weeks without pay at first. Or, we can take the risk and do it as a one month paid contract, with the option of making it permanent. This would be something the NXTtechdevfund committee should discuss.

I would need to research how other open source projects decide who to accept and trust, e.g. how the linux kernel development is organized, and see if we can adopt their project management practices."

Give the applicant a real life scenario to work on. Something that has to be done for Nxt. A small part of a bigger task. So you can assess if he/she is good enough to be in the core dev team.

"In addition to Java developers, and in fact much more urgently, we need a good cryptographer."

Is that the same msin is working on with the review of the code? Or we need a cryptographer in our core dev team? Do you (or anyone else) have a suggestion whom we should approach?


I would be happy to come up with test Java projects for someone else to do Smiley

I could pay some amount of NXT upfront to reduce the risk for the new applicant, as long as we have reason to believe that he can do the job. Then I will need the Techcommittee to deal with any permanent arrangements and completion bounties.

Probably a good idea to have a good cryptographer on retainer or at least halftime. If the community can provide adequate testing, then that frees up more funds to pay the cryptographer. I dont think it has to be a big name guy, as long as he can do the crypto math competently, that is the key. Someone who can actually understand stuff like https://bitcointalk.org/index.php?topic=277389.0

James


http://www.digitalcatallaxy.com/report2015.html
100+ page annual report for SuperNET
1714049533
Hero Member
*
Offline Offline

Posts: 1714049533

View Profile Personal Message (Offline)

Ignore
1714049533
Reply with quote  #2

1714049533
Report to moderator
1714049533
Hero Member
*
Offline Offline

Posts: 1714049533

View Profile Personal Message (Offline)

Ignore
1714049533
Reply with quote  #2

1714049533
Report to moderator
1714049533
Hero Member
*
Offline Offline

Posts: 1714049533

View Profile Personal Message (Offline)

Ignore
1714049533
Reply with quote  #2

1714049533
Report to moderator
You get merit points when someone likes your post enough to give you some. And for every 2 merit points you receive, you can send 1 merit point to someone else!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714049533
Hero Member
*
Offline Offline

Posts: 1714049533

View Profile Personal Message (Offline)

Ignore
1714049533
Reply with quote  #2

1714049533
Report to moderator
jl777
Legendary
*
Offline Offline

Activity: 1176
Merit: 1132


View Profile WWW
March 06, 2014, 11:15:10 AM
 #41122

Thanks Wesleyh! It looks great.

What I notice at start is the black bar at the bottom. It's not well designed like the rest of the screen. (black and white)

The second thing is; "Downloading blockchain.."
I want to see how much I already have downloaded so I can estimate how much I still have to wait.

It would be better if you can manage to add Estimate download time, or '5 minutes left' to download the blockchain.. Something like that.
Because now I don't know if I really downloading. Maybe it's stuck somewhere at a block.

Yes, black bar will be redesigned. Or removed.

About blockchain downloading, I don't think there is a way to know how long to go still. I guess I could compare last block to current time though, and do an approximation based on 1 block per minute?
I can help with completion time estimate algos. I will PM you

James

http://www.digitalcatallaxy.com/report2015.html
100+ page annual report for SuperNET
Eadeqa
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
March 06, 2014, 11:16:13 AM
 #41123


Well, you can do everything whilst it's downloading the blockchain, of course you'll only get your balance once it reaches the correct block.
It opens NRS in the background, yes, locally.

Does it shut down NRS when you close it?


Yes.

Cool. You should add some kind of random password generator for creating new accounts, and then it should be distributed with all new NRS releases as a default client

Nomi, Shan, Adnan, Noshi, Nxt, Adn Khn
NXT-GZYP-FMRT-FQ9K-3YQGS
https://github.com/Lafihh/encryptiontest
wesleyh
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
March 06, 2014, 11:17:17 AM
 #41124


Well, you can do everything whilst it's downloading the blockchain, of course you'll only get your balance once it reaches the correct block.
It opens NRS in the background, yes, locally.

Does it shut down NRS when you close it?


Yes.

Cool. You should add some kind of random password generator for creating new accounts, and then it should be distributed with all new NRS releases as a default client

Not sure if there is a good and secure javascript.random available - However if you open the app and choose register new account, (new users will probably do this although they could just login), then it requires special characters, minimum length, etc.
Jean-Luc
Sr. Member
****
Offline Offline

Activity: 392
Merit: 250



View Profile WWW
March 06, 2014, 11:17:38 AM
 #41125

I have also sent the html interface to jean-luc, hopefully it will be in the next version (it is in this NxtWallet.exe already)
I will not have time to make another release until Sunday at best. For now, people should install Wesley's client manually.

lead Nxt developer, gpg key id: 0x811D6940E1E4240C
Nxt blockchain platform | Ardor blockchain platform | Ignis ICO
Fatih87SK
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500



View Profile
March 06, 2014, 11:19:26 AM
 #41126

Thanks Wesleyh! It looks great.

What I notice at start is the black bar at the bottom. It's not well designed like the rest of the screen. (black and white)

The second thing is; "Downloading blockchain.."
I want to see how much I already have downloaded so I can estimate how much I still have to wait.

It would be better if you can manage to add Estimate download time, or '5 minutes left' to download the blockchain.. Something like that.
Because now I don't know if I really downloading. Maybe it's stuck somewhere at a block.

Yes, black bar will be redesigned. Or removed.

About blockchain downloading, I don't think there is a way to know how long to go still. I guess I could compare last block to current time though, and do an approximation based on 1 block per minute?
I can help with completion time estimate algos. I will PM you

James

Thanks!

It doesn't need to be perfect. An estimate is fine by me!

abctc
Legendary
*
Offline Offline

Activity: 1792
Merit: 1038



View Profile
March 06, 2014, 11:21:04 AM
 #41127

Could somebody sent TestNxt to the  ....
- if someone needs testNXTs - ask them here: https://forums.nxtcrypto.org/viewtopic.php?f=2&t=832&p=4237#p4237

█████████████████████████████████████████████████
███████████████████████████████████████████████████
█████████████████████████████████████████████████████
█████████████████████████████████████████████████████
██████████████████████████████████████████████████████
█████
█████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████
███████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████████████
   
, the Next platform.  Magis quam Moneta (More than a Coin)
pr65536
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
March 06, 2014, 11:21:22 AM
 #41128

First of all, Keep up with the great work!

I'm a newbie here but I would like to give you my two cents...
I believe that NXT has all the potential to become the next big thing. I see a great idea and I see great people working on it. I see also a great community that is forming around it.
The only problem is that for new people like me is very difficult to follow and join. There is this huge megathread that is growing faster than my reading capabilites. In this thread there is everything: from technical development discussions, to new software announcements, newbie opinions, complaints, philosophical discussions and everything else...
This is great, but frankly speaking, is not optimal. It end up that people just trow in it their opinion but without listening really at what other are saying.

My practical proposal: why not to split this thread in different threads? One for the technical/developers, one for the marketing, one for the newbie, etc.?

Or maybe there are already some different channels? (in this case, please point out where)
Cheers
Eadeqa
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
March 06, 2014, 11:22:07 AM
 #41129


Well, you can do everything whilst it's downloading the blockchain, of course you'll only get your balance once it reaches the correct block.
It opens NRS in the background, yes, locally.

Does it shut down NRS when you close it?


Yes.

Cool. You should add some kind of random password generator for creating new accounts, and then it should be distributed with all new NRS releases as a default client

Not sure if there is a good and secure javascript.random available - However if you open the app and choose register new account, (new users will probably do this although they could just login), then it requires special characters, minimum length, etc.

You can use random mouse movement to create pretty secure password.

Copy their code https://www.bitaddress.org



Nomi, Shan, Adnan, Noshi, Nxt, Adn Khn
NXT-GZYP-FMRT-FQ9K-3YQGS
https://github.com/Lafihh/encryptiontest
wesleyh
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
March 06, 2014, 11:22:13 AM
 #41130


Or like Bitcoin wallets with a green bar that shows the progress of downloading the blockchain.

Thanks!

Don't get offended or something. I'm just being a critical end user. Great work!

Not offended at all, I need and appreciate the feedback Smiley
instacalm
Hero Member
*****
Offline Offline

Activity: 798
Merit: 500



View Profile
March 06, 2014, 11:22:22 AM
 #41131

My practical proposal: why not to split this thread in different threads? One for the technical/developers, one for the marketing, one for the newbie, etc.?

Hi pr65536,

https://forums.nxtcrypto.org
wesleyh
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
March 06, 2014, 11:23:31 AM
 #41132



You can use random mouse movement to create pretty secure password.

Copy their code https://www.bitaddress.org




thanks, will check it out.
jl777
Legendary
*
Offline Offline

Activity: 1176
Merit: 1132


View Profile WWW
March 06, 2014, 11:24:48 AM
 #41133

My practical proposal: why not to split this thread in different threads? One for the technical/developers, one for the marketing, one for the newbie, etc.?

Hi pr65536,

https://forums.nxtcrypto.org
also http://www.nxtcoins.nl/bitcointalk-threads/ is quite useful

http://www.digitalcatallaxy.com/report2015.html
100+ page annual report for SuperNET
wesleyh
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
March 06, 2014, 11:26:53 AM
 #41134

Gotta go, be back in 8 hours or tomorrow. Keep feedback, bug reports, etc coming. You can also PM me.
verymuchso
Sr. Member
****
Offline Offline

Activity: 421
Merit: 250


HEAT Ledger


View Profile
March 06, 2014, 11:30:12 AM
 #41135


I did my research on random string generator libraries, it seems apache RandomStringUtils is not compromised.

Why aren't you using SecureRandom random = new SecureRandom()?

Simpler version from web

char[] allowedCharacters = {'a','b','c','1','2','3','4'};

SecureRandom random = new SecureRandom();
StringBuffer password = new StringBuffer();

for(int i = 0; i < PASSWORD_LENGTH; i++) {
    password.append(allowedCharacters[ random.nextInt(allowedCharacters.length) ]);
}

I don't believe I know better than the people from Apache who made that library.
That library is used in 1000s of production systems. You should not reinvent the wheel.

You are right about the difference between SecureRandom and Random, in the code I posted it does however not make sense to use SercureRandom. If you believe it does please explain why it does make sense in the code I posted.

http://www.docjar.com/html/api/org/apache/commons/lang/RandomStringUtils.java.html

They use java.util.Random

Where do you see SercureRandom used by RandomStringUtils?

I did not say they used SecureRandom in RandomStringUtils. What I did was look for ways to generate the safest possible passphrases and RandomStringUtils was mentioned and seemed to be used the most. It comes as a surprise that they do not use SecureRandom, if this in fact is unsecure this would mean that numerous production systems are at risk, which might even be the case who knows.

You started your argument by saying Random should not be used, since Random was used in the piece of code I posted I assumed you were talking about the random number between 70 and 90 for the password length, for which it makes no sense to use SecureRandom.

I do believe Apache should use SecureRandom. Looking at my code I also believe the seed string of characters used should not be a fixed string, it should be random as should your 'allowedCharacters' variable in the sample you posted.

The site where you can generate a passphrase with your mouse is really cool, it does however not work for people without a mouse.

Jean-Luc
Sr. Member
****
Offline Offline

Activity: 392
Merit: 250



View Profile WWW
March 06, 2014, 11:35:28 AM
 #41136

Of course I hope the apache RandomStringUtils internally uses SecureRandom, this is where it would matter.

It doesn't

http://www.docjar.com/html/api/org/apache/commons/lang/RandomStringUtils.java.html

You are right. Maybe he should directly call the method that also takes a Random as a parameter, and pass it his own instance of a SecureRandom.

lead Nxt developer, gpg key id: 0x811D6940E1E4240C
Nxt blockchain platform | Ardor blockchain platform | Ignis ICO
martismartis
Legendary
*
Offline Offline

Activity: 1162
Merit: 1005


View Profile
March 06, 2014, 11:38:30 AM
 #41137

Could somebody sent TestNxt to the  ....
- if someone needs testNXTs - ask them here: https://forums.nxtcrypto.org/viewtopic.php?f=2&t=832&p=4237#p4237

Hi, I'm not registered in forums.nxtcrypto.org , here is my church, where I get all information I need Smiley Still need some test NXT to 13965125640011039998
igmaca
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
March 06, 2014, 11:39:11 AM
 #41138

If you´ve read my PM, I am trying to help you build a core dev team...

Yes, I need to think about how this should be done. Before the source was public, the problem was how to decide who is trustworthy. Now that it is open, how do we decide who is good enough?

Companies conduct technical interviews. Those will filter out the completely ignorant, but for more experienced people it becomes difficult to judge who is better. I am also not confident in my own skills as an interviewer, and also some good people perform bad at interviews because of the stress and pressure to perform. Especially for an open source project, I don't feel doing interviews is the right approach.

For paid developers, we could consider trial projects, which they would do on their own fork of the repository, and if at the end we like the code and integrate it into the main repository, we accept them as paid developers. This would mean they would have to spend a few weeks without pay at first. Or, we can take the risk and do it as a one month paid contract, with the option of making it permanent. This would be something the NXTtechdevfund committee should discuss.

I would need to research how other open source projects decide who to accept and trust, e.g. how the linux kernel development is organized, and see if we can adopt their project management practices.

In terms of skill set, being a very good Java developer is the only requirement. The code does not depend strongly on any specific tool or library. We use a database, so some familiarity with relational database and SQL is needed, but there are enough areas of the code one can work on without touching the database at first. We also use servlets and Jetty, so again familiarity with servlets and the http protocol would be helpful, but most Java developers already have that.

Good object-oriented design skills are essential. So is writing clean and maintainable code. For developers with main background in languages other than Java, I can tell immediately that Java is not their native language - I have seen lots of Java code that reads like C. The original BCNext code was very foreign too, so I had to rewrite lots of it. So for somebody coming from C/C++ background, if this is going to be their first Java project, they would need to learn a lot, so that the code they add actually reads like Java.

In addition to Java developers, and in fact much more urgently, we need a good cryptographer. This person doesn't even need to be that fluent in Java, the language background wouldn't matter (well, he should at least be able to read and understand the Java code). But I don't have much cryptography background myself, so this is an area where we currently lack skills, especially after the departure of BCNext.


Thank you very much for your detailed answer!

"For paid developers, we could consider trial projects, which they would do on their own fork of the repository, and if at the end we like the code and integrate it into the main repository, we accept them as paid developers. This would mean they would have to spend a few weeks without pay at first. Or, we can take the risk and do it as a one month paid contract, with the option of making it permanent. This would be something the NXTtechdevfund committee should discuss.

I would need to research how other open source projects decide who to accept and trust, e.g. how the linux kernel development is organized, and see if we can adopt their project management practices."

Give the applicant a real life scenario to work on. Something that has to be done for Nxt. A small part of a bigger task. So you can assess if he/she is good enough to be in the core dev team.

"In addition to Java developers, and in fact much more urgently, we need a good cryptographer."

Is that the same msin is working on with the review of the code? Or we need a cryptographer in our core dev team? Do you (or anyone else) have a suggestion whom we should approach?


I would be happy to come up with test Java projects for someone else to do Smiley

I could pay some amount of NXT upfront to reduce the risk for the new applicant, as long as we have reason to believe that he can do the job. Then I will need the Techcommittee to deal with any permanent arrangements and completion bounties.

Probably a good idea to have a good cryptographer on retainer or at least halftime. If the community can provide adequate testing, then that frees up more funds to pay the cryptographer. I dont think it has to be a big name guy, as long as he can do the crypto math competently, that is the key. Someone who can actually understand stuff like https://bitcointalk.org/index.php?topic=277389.0

James





I think in the forum of keepass you can get to locate a good cryptographer
http://sourceforge.net/p/keepass/discussion/329220/
landomata
Legendary
*
Offline Offline

Activity: 2184
Merit: 1000


View Profile WWW
March 06, 2014, 11:39:20 AM
 #41139



Give the applicant a real life scenario to work on. Something that has to be done for Nxt. A small part of a bigger task. So you can assess if he/she is good enough to be in the core dev team.

"In addition to Java developers, and in fact much more urgently, we need a good cryptographer."

Is that the same msin is working on with the review of the code? Or we need a cryptographer in our core dev team? Do you (or anyone else) have a suggestion whom we should approach?



The Nxt Mobile Applications Company will pay 100,000 Nxt to the Java Dev who successfully implements SERVICE PROVIDER FEATURE into Nxt.

If he is successful then he can become a part of the Dev team.

So to repeat we will pay the bounty for this real life project.




Jean-Luc
Sr. Member
****
Offline Offline

Activity: 392
Merit: 250



View Profile WWW
March 06, 2014, 11:39:47 AM
 #41140

Give the applicant a real life scenario to work on. Something that has to be done for Nxt. A small part of a bigger task. So you can assess if he/she is good enough to be in the core dev team.
Realistically, somebody faced with unfamiliar code cannot just jump in and start adding features. Even if he succeeds in doing it, it will look like a patch, an if/else hack, because he would be missing the big picture at first.

In a real company, a new programmer usually starts by just fixing bugs, for a week or two. Then, maybe start working on a feature that has already been designed and some skeletal work has been done on it. Or is very similar to an existing feature so that he can copy and follow the same design pattern (e.g., add a new transaction type which fits in the existing transaction types framework and doesn't need changing it). One would need at least a month of experience, getting familiar with the code, before being able to design and add a new feature all by himself.

Quote
"In addition to Java developers, and in fact much more urgently, we need a good cryptographer."

Is that the same msin is working on with the review of the code? Or we need a cryptographer in our core dev team? Do you (or anyone else) have a suggestion whom we should approach?

I don't think that guy had time to actively contribute to Nxt all the time. We don't really need a 100% full time cryptographer, but somebody who we can consult with regularly, and who can stay reasonably up to date with the current state of Nxt. Most of the time we don't need to make changes that require consulting a cryptographer, but when we do, we need to have somebody to refer to. Like, when considering changing the TF algorithm, or when deciding if there is any risk in accepting the proposed fix for the signature verification failing.

lead Nxt developer, gpg key id: 0x811D6940E1E4240C
Nxt blockchain platform | Ardor blockchain platform | Ignis ICO
Pages: « 1 ... 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 [2057] 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 ... 2557 »
  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!