SteemWhales Maintenance for HF18 - RANT INSIDE

in #whales7 years ago

Hello Steem community,

Firstly, I would like to thank @elyaque for telling me about a slight bug in SteemWhales that turned everyone to red (inactive). See for yourself:

I did a quick investigation of the problem, and quickly realized this had nothing to do with my coding, it was just that Hard Fork 18 broke it. Ok, 'it can happen' was my first thought. Unfortunatly, I wasn't able to 100% fix this, and let me explain why.

SteemWhales relied on the 'Last Bandwidth Update' field of the accounts, which DOES NOT get updated anymore since HF18. Instead, SteemWhales will now rely on the 'Last Vote' and 'Last Post' times, and use the most recent. Which means accounts that don't vote or post on the blockchain, will be marked as inactive even if they do monetary transfers. Sucks but there is no way around it, because of the lack of professionalism of the STEEM blockchain team, whoever they are.

After more investigation, I realised the 'average bandwidth' field doesn't get updated either, and seems to have been replaced by a field called 'New Bandwidth Average'. Clearly, cloning a field, without removing the old one, and calling the new one the same and prepending 'new' in front is a terrible coding practise... Any API call will still fetch the old, completly useless field, wasting everyone's internet bandwidth and turning our planet even faster from habitable, to a dead rock.

But more importantly... Why the fuck can't we get a 'New Last Bandwidth Update' time also? This way I would have been able to keep the feature on my website intact.

Oh yeah also I discovered that voting or unvoting a content older than 30 days, will not update the 'Last Vote' time either. Bug or feature? You tell me.

And that's probably just the tip of the iceberg, what I personally looked into. I really doubt it's an isolated problem.

I've seen the 240p video made by the new marketing guy where he talks about the ecosystem and how we want to have a bunch of apps using the STEEM blockchain. I 100% agree but then PLEASE:

  1. DONT REMOVE EXISTING FEATURES IF IT IS NOT REQUIRED, CHANCES ARE SOME APPS USE THIS FEATURE
  2. IF YOU STILL DO, AT THE FUCKING LEAST MAKE A DOCUMENT ABOUT THE CHANGES THAT DEVS CAN FIND QUICKLY
  3. STOP WASTING DATA. IF SOMETHING IS USELESS, REMOVE IT. WE WANT TO SCALE AND GO LONG TERM

I hope some good people who are interested in building something on top of STEEM read this post and get discouraged by it. This is actually my prime intention for this rant. Maintaining an app on top of something managed by retards will end up in your app breaking more often than your users can accept, completly ruining your project and all your efforts.

The anonymous time-wasting faggots running this boat have sold millions of USD worth through poloniex and other exchanges in the past 8 months. We already know that STEEM, unlike SteemWhales, is not a benevolent project (see https://github.com/steemit/steem/pull/936). If they consider themselves a business, not a hustle, it's about time they invest in proper staff, communication and equipment.

My $0.02,
heimindanger
www.steemwhales.com

Sort:  

Can we get a dev to provide some answers here please?

Having built and maintained APIs for my business over the past decade, I do get the feeling they are playing fast and lose with the blockchain variables. When I first started looking into steem and doing my own development with it, I was confused by what appeared to be so many dead fields on a product that wasn't even close to mature. This is certainly a problem, and I hope devs like @sneak will provide an answer. The "we're beta" explanation isn't quite good enough if it's already breaking some backward compatibility concerns so early in the process. Good API design is hard, but it's not this hard.

If someone writing hate speech is waiting for answer from me, they're going to be waiting a long time. Collaboration with those that use hate speech is never on the table from me as a human being. I have muted this user.

I'm happy to discuss the technical issues with others, but I sincerely hope bigoted people spreading hate leave Steemit and never come back.

We can't stop this sort of speech, of course, as Steem resists censorship tremendously. But I do very much hope that our community joins me in showing people very clearly that revolting instances of bigotry such as this post are never acceptable to our values.

That's understandable. I've run my own software as a service business for ten years (as of next month), and I recognize the need to avoid those who use abusive language like "faggot" and "retard" or who describe the project as a "hustle." That said, some people are emotionally immature and can't express their negative feelings in constructive ways. Sometimes it's still worth while to engage them and benefit from their perspective.

I believe we can learn important things from almost anyone. Steemwhales is a great contribution to the ecosystem, one I've really enjoyed using. The technical critiques here seem quite valid, and I do think they should be addressed by your team. Even as "beta", backward compatibility in API design is really important. If something is going to change, especially a breaking change, communicating those changes early and often is also really important. We haven't seen this communication or this attention to detail which really casts doubt on the long-term future success of the project. Again, I've run a software as a service for 10 years, and we've supported many versions over that time while connecting to many other service provider APIs (payment gateways, shipping rate services, tax services, etc) so I'm speaking from experience.

I've also been to RESTfest the last 5 years which I think is one of the best conferences out there on API and Hypermedia out there. I've spoken at multiple conferences about API design and what I'm hearing about how the STEEM blockchain data structure change control is being handled has me concerned. Versioning is an anti-pattern in API design but it's certainly better than just breaking things with no notice at all.

What plans do you or your team have to address these important issues? What confidence can developers have that something won't change again to break their work? What communication processes and developer contracts through documentation and convention are in place to build confidence with developers?

I understand how easy it is to take criticism personally, especially when it uses abusive language, but those who are successful over the long term can weather the storms and use everything for improvement. I hope you and your team take the high road and steward this amazing blockchain with a long-term view.

Thanks for listening.

Thanks for your respectful and metered reply. @heimindanger is not alone - I have also had to shut down my steem bot operations indefinitely due to HF18. I've been less-than-enthusiastic about upgrading my bot, because I worry that HF19 will similarly break everything.

@sneak, I encourage you to re-read @lukestokes' comment here and respectfully reply to some of these serious concerns. The marketing team, insubstantial as their efforts seem to be, do talk a lot about making Steem developer-friendly. If your API is not backwards compatible, you're working very directly against this goal.

Sorry to hear that, @biophil. I had a good conversation with @andrarchy recently in the chat about the challenges facing Steemit regarding keeping developers informed of upcoming changes and of the API not being backward compatible and how serious of a problem that is. I think he has some good ideas he'll be working with them to implement.

See @proskynneo's reply which may be helpful to you. There are few things more frustrating for a developer than relying on a service or platform to build your app and then having it break to no fault of your own because of unexpected changes.

Please don't lose hope. I imagine HF19 may indeed have breaking changes (hence the need for a "hard" fork), but if they are communicated early and often, hopefully easy work arounds can be coded in long before it goes live. We all appreciate work you and everyone else does to build apps for the steemit ecosystem.

Steemwhales is absolutely not more valuable to society than demanding basic dignity and respect for human beings.

Anyone who reads this post can see that this person is acting maliciously and in bad faith. They explicitly confirm their desire to harm the platform, and then go on to project such a desire onto us. It is both plainly malicious as well as objectively false.

It's nothing personal, I just won't interact with people who deny human dignity. End of thread.

I didn't suggest it was. If it would be helpful, I can post my comment as a new post, and we can discuss the concerns raised there.

Saying, "Sorry devs, we didn't handle this as well as we could have" goes a long way. For every person ranting emotionally like this, you may have ten others who quietly leave the project.

It's very disturbing how @sneak dodged the important questions being posed by app developers and went on a drama queen pathway, it's the Internet, curse words and bad language is normal, dodging important development questions is very sneaky indeed.. that's fucked up

I'm happy to discuss the technical issues with others, but I sincerely hope bigoted people spreading hate leave Steemit and never come back.

Curse words and bad language are not what I have a problem with.

it's the Internet, curse words and bad language is normal

Sometimes it's still worth while to engage them and benefit from their perspective.

He didn't tell me a single thing I wasn't already acutely aware of. He did, however, call me "faggot".

There is no amount of valuable feedback that tolerating bigotry and hate and disrespect for human dignity is worth. None.

Furthermore, he delivered zero value, and explicitly clarified his intent to reduce value.

Good faith, or nothing at all. Those are the rules.

Can we be done with this post now?

Fair enough. Thanks again for responding. If you are aware of these issues and concerns, I look forward to future communication about how they will be addressed.

I had no idea who you were before you came in, downvoted and started acting like a god. Now I know you are a modern-day nazi that talks about hate speech and human dignity without even knowing what it is. I also know from your cringe website that you look like someone who has a down-syndrome, that you can't take criticism, and that you definatly are a fag considering you are so offended by it.

You hope I leave Steem, but I'm more of an extremist and I hope you just die.

THAT was hate speech. My original post was just a rant, with no naming and no discrimination against any race or gender or whatever.

Really valid and to the point questions and concerns, rant and hate speech aside. I hope, for the future of this platform, that w will get some answers and that the current practice will change for the better.

this is not so easy, as people may think. Old code cannot be just deleted. This is blockchain, what mean, you are not developing software anymore, but trustware:

@heimindanger, I did some digging on the API call you were using and the fields in question. As you reported, the fields exist, but aren't being updated correctly. I can confirm that this is a bug. We did not intend to remove that functionality from our API call and will have it restored in the next minor release.

With regard to the "new" fields. Those were only ever intended to be temporary. The last release removed bandwidth from consensus (keeping it around as soft logic). However, because it needed to be backwards compatible, we had duplicate fields which are now being cleaned up. We have been trying to expose the internal database state as much as possible in our APIs, but in this case it caused some confusion. We have a good layer to create abstractions between internal state and returned state when needed and will make better use of it in the future.

Thanks a lot for an answer

Thx for fixing my username ;)

Great reply. Thank you. :)

I had chosen a less offensive language but I can understand your frustration. I´m not a developer myself but your word has a lot of weight for me as you created with steemwhales one of the most valuable and most used site in the current steemit ecosystem. It seems you are not the only one who is unhappy (to say the least) with the coding practice behind the curtain.

Thank yall for the work and research volunteered but miss @heimindanger... You should turn those curse words into idea words and realize 2 things:

  1. You are eternal and time is on your side
  2. There are no mistakes in a perfect circle

:D #SMILES help me @christoryan

Very interesting read.
Did you read this?

the ydid 18 hardforks (yes i know 17) in a year, GUI is still pretty much the same.
HFs are not communicated at all, maybe they even dont know what will be the effects of them

steemit development is not looking good, and @dan is gone

Great post and brilliant to read that there are other people who can see through the downright ignorant decision making which pervades.
Personally, I would like to thank you for the data you put out. In a blockchain world (synonymous with decentralisation), your data allows me to produce these types of data.
SP ownership 30 March 17.png
value ownership 30 Mar 17.png

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.031
BTC 59013.49
ETH 2516.64
USDT 1.00
SBD 2.48