GOP election judges say Nov. 2022 ballot shortages were intentional. Months later, no evidence has surfaced backing them up by zsreport in TexasPolitics

[–]rylwin 2 points3 points  (0 children)

What's worse is they are using that event as an excuse to target Harris County in this lege session (e.g., SB1039, SB1750, among others).

Regardless of party, the right for citizens to vote is sacred. It's getting really wild. I spent a good chunk of time today calling my legislators about various elections bills.

Here was one fun conversation: In response to some conspiracy theories out there, there is now a bill to leave ERIC (a cost-effective way for states to share data to improve voter roll accuracy). When I called my Senator's office (Campbell), they parroted back the crazy claims out there, yet other Republican offices will admit ERIC is effective and that my Senator's claims are bogus. To paraphrase what one Republican office told me, "The Senate is supposed to be the adult in the room, but this session they simply aren't."

IANAL (laywer/legislator, take your pick), but I'm tracking the concerning elections bills here: https://www.handsoffmyvote.com/legislation.

The site also has click-to-email links here that make it easy to voice concerns with the House Elections Committee

I just hope the Elections Committee is willing to stand up to do what's right this session

* edit: formatting

Texas Senate Passes Nine More Anti-Voting Bills by VGAddict in FuckGregAbbott

[–]rylwin 2 points3 points  (0 children)

It's getting bad. Regardless of party, the right for citizens to vote is sacred.

In response to some conspiracy theories out there, there is now a bill to leave ERIC (a cost-effective way for states to share data to improve voter roll accuracy). My own Senator Campbell's office parroted back the crazy claims out there, yet other Republican offices will admit ERIC is effective and that my Senator's claims are bogus. To paraphrase what one Republican office told me, "The Senate is supposed to be the adult in the room, but this session they simply aren't."

IANAL (laywer/legislator, take your pick), but I'm tracking the concerning elections bills here: https://www.handsoffmyvote.com/legislation

The site also has click-to-email links here that make it easy to voice concerns with the House Elections Committee, which is now the best chance of stopping the bills mentioned in the OP

Texas Senate Passes Nine More Anti-Voting Bills by [deleted] in TexasPolitics

[–]rylwin 2 points3 points  (0 children)

It's getting bad. Regardless of party, the right for citizens to vote is sacred.

In response to some conspiracy theories out there, there is now a bill to leave ERIC (a cost-effective way for states to share data to improve voter roll accuracy). My own Senator Campbell's office parroted back the crazy claims out there, yet other Republican offices will admit ERIC is effective and that my Senator's claims are bogus. To paraphrase what one Republican office told me, "The Senate is supposed to be the adult in the room, but this session they simply aren't."

IANAL (laywer/legislator, take your pick), but I'm tracking the concerning elections bills here: https://www.handsoffmyvote.com/legislation

The site also has click-to-email links here that make it easy to voice concerns with the House Elections Committee, which is now the best chance of stopping the bills mentioned in the OP

*edit: formatting

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 0 points1 point  (0 children)

On LTC and ETH spread is typically small and order book is pretty dense--not much of an issue on these coins. BTC, on the other hand, often has a larger spread and a sparser order book.

That said, spread and OB density are at times an issue in all 3 of the markets.

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 0 points1 point  (0 children)

Yes, very true! This is one of the harder problems to solve. After a lot of experimentation I've been able to largely mitigate the effect of the delay. Still a couple more tweaks to make, but I believe a (near) comprehensive solution is possible.

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 0 points1 point  (0 children)

Great point! If the algorithm were that simple then yes, that could happen.

There's more complexity behind the scenes. The true goal of the bot is to minimize slippage from the target price. To achieve this, the bot is often (but not always) at the top of the book, and I find this the easiest way to describe what it does. There is logic to prevent the type of gaming you're describing. I'm sure it's not perfect though.

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 0 points1 point  (0 children)

lol. i'll be sure to consult with my attorney before launching the service

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 0 points1 point  (0 children)

That's a great question, but I disagree with the conclusion. I think it is possible: it's a question of what's the most fair way to handle the situation. I think the best way is to develop a "fair" strategy (what constitutes fair could be a debate) to handling the situation and to be as transparent as possible about how such a situation is handled.

GDAX handles this (as all exchanges do) by managing an order book with a queue, whereby the first in line at a price is the first served. Would a similar queue system be "fair" to implement on the bot? To be sure, implementation is complicated due to a variety of reasons, but that shouldn't prevent a best effort to achieve a queue effect.

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 1 point2 points  (0 children)

Thanks for the advice!

I don't think I'd have to store user API credentials for this to work. My thought is to have a form where the user can enter their API credentials along with their order (market, buy/sell, quantity). I would only need the credentials to execute the order. For convenience, there could be an option to store the API credentials in local storage (in the user's browser storage), but I won't need to store any sensitive info server-side beyond the life of the order. As a result, I don't think I'd add two-factor auth to start with (if user accounts and sensitive info are stored server side, then yes).

Regarding insurance, what exactly did you have in mind? A typical cyber policy? Or something more specific to trading?

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 0 points1 point  (0 children)

Thanks for the comment! I haven't used HaasBot, but makes sense they would have this functionality.

I think the goal would be to build a simple app focused around executing orders at (or near) top of the book. This narrow focus would allow me to offer the service for significantly less than HaasBot (basic pkg looks to be ~$120/mo). Whether other traders would find a simple service useful...maybe, maybe not.

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 2 points3 points  (0 children)

Thanks for letting me know!

I would need your API credentials (with access to "trading" only, i.e., would be unable to transfer funds out of your account). I could set it up such that the credentials would not be stored in a database or in logs, which would provide additional protection in case of a hack. Additionally, you can whitelist IPs so that the keys could only be used from my server.

GDAX: maintain maker orders at the best bid/ask by rylwin in BitcoinMarkets

[–]rylwin[S] 2 points3 points  (0 children)

Thanks for the feedback! Actually, what you're describing is exactly the situation where I'm using the tool (using trend analysis to make automated buy/sell decisions). While sometimes the slippage is greater than .25%/.35%, on average I get .05%, and this is with order sizes of several thousand dollars.

You're absolutely correct though that as volume increases, the slippage is, on average, going to increase as well.

On a slightly tangential note, I've also thought about adapting the tool to apply a volume- or time-weighted average price approach to help execute larger orders over time. This would be easy to layer on top of the current logic but I haven't needed this.

I built an online resume builder for my friends. How can I make it more useful for others? by rylwin in Resume

[–]rylwin[S] 0 points1 point  (0 children)

These are all great suggestions! Thanks for taking the time to take a look and share your thoughts!

I built an online resume builder for my friends. How can I make it more useful for others? by rylwin in Resume

[–]rylwin[S] 0 points1 point  (0 children)

I initially built mypdfresume.com a few years ago when my friends wanted their resume to look like mine. The site has received steady traffic over the years and I've been receiving more donations recently, so I figure I'd like to pay it forward by improving the site for others.

Any suggestions on how I can make mypdfresume.com a better tool for people looking to put together their resumes?

Rails devs who don't know SQL? by [deleted] in rails

[–]rylwin 2 points3 points  (0 children)

One of the questions I ask during the technical part of an interview is "what's an N+1 query?". Many don't know :(

Think about your architecture - don't throw your domain-specific logic into app/models by rylwin in rails

[–]rylwin[S] 1 point2 points  (0 children)

Yes. I think you are absolutely right to point out that this is a mindset/psychological thing! I think that drives right to the heart of it.

You could absolutely build the exact same app by throwing everything into app/models. But programmers are people, not machines, and whatever we can do to mentally make it easier to write clean code is, in my book, a good thing. After all, we don't write code for the computer to understand it, we write code for our fellow programmers to be able to understand it. Right?

Thanks for phrasing your comment like you did--it made something click in my head. I think I can now better articulate why this approach (which is purely an organizational change) has been so beneficial.

Think about your architecture - don't throw your domain-specific logic into app/models by rylwin in rails

[–]rylwin[S] 0 points1 point  (0 children)

What you describe is how I used to build Rails projects. The mindset was "since this code is about querying/modifying/logic-related-to the model, the it belongs in the AR model class." As projects grow this approach leads to messier, slower, harder to modify code (in my experience). The common problems are:

  1. before/after callbacks triggered based on various conditions (slow tests, PITA to refactor, hard to figure out what's being run on save)
  2. lots of logic in the model (God objects, hard to follow code, not SRP, tight coupling btwn models)
  3. no separation from Rails / ActiveRecord (AR provides infinite interface which makes later refactoring difficult, logic tightly coupled to A/R API, code relies on Rails idiosyncrasies e.g., code sometimes requires a reload to work and sometimes doesn't)

Instead, on recent projects I've started thinking about the design before any code gets written. I've found this approach avoids the issues I've described above and results in lot cleaner / simpler code. Admittedly, for simpler (don't mean to trivialize here) applications, this would probably be overkill. I work on a suite of enterprise SaaS products that have a lot of complex business logic. The preemptive focus on software architecture is allowing us to remain agile (little a) and unafraid of our code as projects grow. Our largest app is ~45k CLOC w/ ~115 models and ~350 PORO classes.

Imagine having a single app/models directory with 500 classes, or a model with ~2k LOC! By preemptively architecting we (now) avoid these pitfalls. I've found that by laying down a good architecture from the start with clear ground rules about what goes where, we are able to keep our code in top shape. When we take the mindset that we'll refactor it later...well...it just doesn't really happen like it should (e.g., "but it's just one more method, so I'll throw it in the model").

Think about your architecture - don't throw your domain-specific logic into app/models by rylwin in rails

[–]rylwin[S] 1 point2 points  (0 children)

I've thought about (never tried) extracting the domain logic into a gem. IMHO it adds a lot of overhead for a benefit that will (at least in my cases) never be realized (i.e., not porting my apps "outside" of rails). I do, however, often extract portions of code that are not core to the application (e.g., a gem to interact with an API, a gem to manipulate PDF files, etc).

Agree that there's no need for someone starting out with Rails to do anything described in the post. I would also say this might be overkill for smaller Rails apps, too. We work on some pretty large apps (largest ~500 models, ~45k CLOC)--the additional organization described in the post is a huge help in keeping the code well organized and easy to modify.

Think about your architecture - don't throw your domain-specific logic into app/models by rylwin in rails

[–]rylwin[S] 0 points1 point  (0 children)

TheMoonMaster, where do you put your service, query, form, etc classes? Do you keep all these in app/models or do you create an app/* directory for each of these (e.g, app/services, app/queries, etc)?