Author Topic: [MetaExchange] dev-metaexchange.monsterer development diary  (Read 86045 times)

0 Members and 1 Guest are viewing this topic.

Offline monsterer

Hi guys,

v1 is ready to go - I just finished writing the instructions for how to use the metaexchange BTC/bitBTC gateway but I've realised that since its GMT 22:18 and I'm about to go to bed, now is not the ideal time to launch this for testing as I wont be able to field inevitable support requests!

So, if you can wait until tomorrow morning, I will set the gateway up for business first thing so that I can be on hand to solve problems.

The code is fully checked in to github if you want to take a look.

Thanks for your patience!

Cheers, Paul.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Pheonike

I think Microsoft has seen the light on being more cross-platform. The new CEO understands that in order for Microsoft to stay relevant they have meet users and developers where they are at and not try to force them to the windows platform. The Internet is the platform now.

Offline abelljefrry

Need a designer for your project? Hire me! I accept BTS as payment :)

View my BitShares design portfolio here : bit.ly/BitSharesPortfolio

Offline monsterer

Ok, we're very close to release v1 now - everything is working except for deposits from unregistered accounts.

I expect to have v1 out by the end of the weekend :) Stay tuned!
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Thom

Mono is a complete re-engineering of the .NET run-time, so theoretically it is as efficient on linux/mac as .NET on windows is. Mono runs c# executables directly, they don't need re-compiling.

I don't see how it can backfire, the majority of computer users run windows anyway. I don't know if you've tried to compile something like bitcoin/bitshares on linux from cold before, I have and it took me days to get each working correctly with the correct dependencies installed. .NET just makes all that go away.

The way it might backfire is M$ releases all but a few crucial portions of the .NET runtime into open source as a ploy to gain more widespread adoption. The licensing for that small but crucial part isn't so restrictive to prohibit adoption by all but the most ardent of open source fanatics. Then they change the licensing conditions and it becomes a big legal mess. Realistic? Perhaps not, but M$ has been known for decades as the king of proprietary, non-standards compliant, NIH business practices, and I am leery of them. Whether such a backfire scenario is likely I don't know, it really depends on how generous M$ is about turning .NET into an open source platform.

Javascript is one of my most favored of scripting languages. If I'm not mistaken it was originally created by Netscape, which in order to compete in the early browser wars M$ had to implement. However M$ initially opposed it becoming a standard, but adoption was so widespread that ECMAscript, which was essentially Javascript, became the standard which M$ was forced kicking and screaming to implement. I'm not sure about these days as much but in the past M$ has resisted supporting standards for web browser technologies and has been a thorn in the side of web devs since day 1.

I have attempted to compile the BitShares client on linux Mint 17 without success, but I only devoted 1 late evening back in October to the effort so I am certain when I attempt it again I will be able to identify and resolve the issue fairly quickly.

You are right however regarding the issues one must face when compiling from source. I've had very similar issues on Windows as well, tho I have no dev experience with .NET at all. It turned me off so much in it's early days and Java was much more mature, worked better and was cross platform so why bother with proprietary .NET?

That was then. It would be interesting to see an in depth comparison of today's Java & .NET platforms to see which is better or what the relative merits of each are.
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline Gentso1

  • Hero Member
  • *****
  • Posts: 931
    • View Profile
  • BitShares: gentso
Ok, made some good progress this week:

Set up another machine in order to test this process more correctly.
Tested sending BTC to the daemon address and correctly got BTS back out again.
Still working on the opposite way around, having some slight issues when the sender is not a registers bitshares account.

All in all, this is close to being the first releasable version! Once this outstanding bug is fixed and I can get some more testing done it will be ready to go!

Have a great weekend!

Cheers, Paul.

Great to have you back, your project is so exciting that I look forward to seeing your progress updates.........also please ignore the shill above me suggesting to vote you out, I meant absolutely nothing of the sort.


Happy Birthday

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
It doesnt go away just that visual studios makes it easier.. you can still get into dll hell or break builds if your references arent setup properly... It usually assumes precompiled linked libs are dependencies in references whereas in the opensource world noone trusts compoled binaries so you build and inspect from scratch..

In a build environment makes way more sense to trust binaries that are signed
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline monsterer

What kind of performance penalty is incurred using mono? Isn't it yet another layer of API translation code to map C# calls to the (Windows) OS into equivalent OSX / Linux calls? Or has mono evolved to use visualization technology to run windows exe binaries and dll shared code?

Mono is a complete re-engineering of the .NET run-time, so theoretically it is as efficient on linux/mac as .NET on windows is. Mono runs c# executables directly, they don't need re-compiling.

Quote
If M$ actually does release the C# runtime into open source and not hold back critical portions or try to maintain control over it, your decision may well come to be seen as wise. Otherwise it could backfire.

I don't see how it can backfire, the majority of computer users run windows anyway. I don't know if you've tried to compile something like bitcoin/bitshares on linux from cold before, I have and it took me days to get each working correctly with the correct dependencies installed. .NET just makes all that go away.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
I use .net in a commercial client server app for a realtime embedded controller running windows ce.. No probs

For us emulation debugging unit testing and continous integration are key and nothing tops visual studio for that
« Last Edit: January 10, 2015, 08:33:53 am by jsidhu »
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline Thom

What kind of performance penalty is incurred using mono? Isn't it yet another layer of API translation code to map C# calls to the (Windows) OS into equivalent OSX / Linux calls? Or has mono evolved to use visualization technology to run windows exe binaries and dll shared code?

But thanks for the explanation, sounds like a valid point. I've never liked .NET. IMO it just doesn't feel as efficient as the closest equivalent which is Java. Java always seemed more responsive; I suspect it has a more efficient garbage collector and dispatch algo. .NET apps seem to que things up at times and there are lags in the UX.

If M$ actually does release the C# runtime into open source and not hold back critical portions or try to maintain control over it, your decision may well come to be seen as wise. Otherwise it could backfire.


Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline monsterer

Why are you writing this in C# instead of something cross platform like Python?

Excellent question! Some definitions are in order, though.

Cross platform: runs on multiple different OS and hardware. Python/Java/C# do not run natively on any platform without the runtimes being installed (except maybe some linux distros with python pre-installed, or windows for c#).

According to this: http://en.wikipedia.org/wiki/Usage_share_of_operating_systems windows has the most install base at over 50%, so c# is the ideal choice because the majority of users will not need to install the runtime in order to run the daemon.

In addition c# provides a type safe programming language which aids in the development of something of this scope. Further, i can actually provide compiled binaries for this project so that end users do not need to spend days trying to get the project built and running correctly, they can simply run the .exe I provide.

Also, for linux server deployments I've been using Mono for years sucessfully and with the new .NET core that microsoft are releasing it will only get easier to use c# in different environments.

Hope that helps to understand my choice!

Cheers, Paul.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline testz


Offline speedy

  • Hero Member
  • *****
  • Posts: 1160
    • View Profile
  • BitShares: speedy
Why are you writing this in C# instead of something cross platform like Python?

Offline Rune

  • Hero Member
  • *****
  • Posts: 1120
    • View Profile

Offline svk

Ok, made some good progress this week:

Set up another machine in order to test this process more correctly.
Tested sending BTC to the daemon address and correctly got BTS back out again.
Still working on the opposite way around, having some slight issues when the sender is not a registers bitshares account.

All in all, this is close to being the first releasable version! Once this outstanding bug is fixed and I can get some more testing done it will be ready to go!

Have a great weekend!

Cheers, Paul.

Good job, looking forward to seeing it in action! :)
Worker: dev.bitsharesblocks