Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content Count

  • Joined

  • Last visited


This user doesn't have any awards


About DarkSwordsman

  • Title
  • Birthday 1998-05-06

Contact Methods

  • Twitch.tv

Profile Information

  • Gender
  • Location
    NY, USA
  • Interests
    Video Games
    Scripting / Coding


  • CPU
    i7-2600k @ 4.2 Ghz
  • Motherboard
    ASUS P8Z77-V PRO
  • RAM
    16GB Corsair Vengeance DDR3 1866 Mhz
  • GPU
    Gigabyte G1 GTX 970
  • Case
    Corsair 750D
  • Storage
    Samsung 840 EVO 500GB (+ two other Seagates)
  • PSU
    EVGA SuperNova G2 750
  • Display(s)
    ASUS VG248QE, Acer GL246H, Old Dell, and Some Other Acer
  • Cooling
    CPU - Corsair H100i
  • Keyboard
    Cooler Master Storm Quick Fire TK - Cherry MX Blue
  • Mouse
    Razer Deathadder
  • Sound
    Kingston Hyper X Cloud II
  • Operating System
    Windows 10 64-bit

Recent Profile Visitors

802 profile views
  1. In fact, Android does not run Java at all. It runs a completely rewritten set of APIs which is compatible with Java. This goes both for Dalvik as well as ART. That's why you often see people say Android runs on a "Java dialect", "fork of Java" or "Java-like". I was under the assumption that Android shipped with a slew of Java SE 8 libraries and APIs. I didn't know that Android re-wrote the Java APIs to work and make them function like Java. If that's the case, then Java has every right to sue. It's explicitly written in their licensing: "License for the Distribution of Compliant Implementations. Oracle also grants you a perpetual, non- exclusive, non-transferable, worldwide, fully paid-up, royalty free, limited license (without the right to sublicense) under any applicable copyrights or, subject to the provisions of subsection 4 below, patent rights it may have covering the Specification to create and/or distribute an Independent Implementation of the Specification that: (a) fully implements the Specification including all its required interfaces and functionality; (b) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (c) passes the Technology Compatibility Kit (including satisfying the requirements of the applicable TCK Users Guide) for such Specification ("Compliant Implementation")." So, Android having APIs that reference `java.*` and passing them off as Java itself is actually a big no-no. That's like me making a Facebook backend API replica. Sure, it may seem to work the same on the outside, but if the API isn't a direct copy of theirs and works the same way (and I have the legal right to have that code in the first place) then I essentially have an API that is a fraud.
  2. Look at it this way. It's very clear in their licensing that Java can be used internally to a company to develop software. It's also clear that the software they make can be used internally, as well as given out for free to other companies/people, or even sold if it is given out as a binary (exe of sorts). Think about it this way. What is Minecraft made on? Java. Minecraft costs money. What is Android made on? C, but it has Java distributed with it (core libraries from Oracle) for applications to be supported on it. Android is free. A little bit contradicting if you ask me.
  3. Actually, the way I understand it, Android does supplement the actual Java libraries on Android. The APIs they integrated are the original APIs. Modifying the APIs is a deeper part of the license that they didn't seem to violate. What Oracle is suing for is the fact that those APIs can be accessed on Android. In their licensing it's a little vague on if that is inherently violating their licenses. Also, to clarify, printf isn't an API itself but a method of a bunch of larger classes/modules in an API. For example, Java.lang is an API to use the basic Java language. Java.io is an API of methods used to interact with hardware devices connected to the operating system. To me, Oracle shouldn't be suing Google, but they should be suing all the device manufacturers that implemented Android. As mentioned before, Google's implementation of Java doesn't necessarily violate their license agreement. They provide the same features and functionality that anyone could download or implement into Android themselves. Also, Android being an open source software means that Google isn't selling it. It's a software that anyone can access and use.
  4. Main Article: https://arstechnica.com/tech-policy/2019/01/google-asks-supreme-court-to-overrule-disastrous-ruling-on-api-copyrights/ Here's a snippet of the previous court case from Wikipedia: It appears that Oracle has been dealing with this for quite some time. I personally think this ruling is a joke in it's current state, but the more I read the licensing and read about other information on the web, I think Java is in the right. From my understanding, here are five licesnses: Java SE 6: https://www.oracle.com/technetwork/java/javase/terms/license/javase6rilicense-2395278.html Java SE 7: https://www.oracle.com/technetwork/java/javase/terms/javase7-license-3976698.html Java SE 8: https://www.oracle.com/technetwork/java/javase/overview/javase8speclicense-2158700.html Java SE (general?): https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html Java SE Binaries: https://www.oracle.com/technetwork/java/javase/terms/license/index.html They're all pretty much the same. At the core, they generally say, "You can use this license to '...create and/or distribute an Independent Implementation of the Specification that: (a) fully implements the Specification including all its required interfaces and functionality...'". However, it also says explicitly, "No license is granted hereunder for any other purpose (including, for example,...distributing the Specification to third parties)" as well as, "You may neither: (a) grant or otherwise pass through to your licensees any licenses under Oracle's applicable intellectual property rights...". I can't find any substantial evidence showing the full extent of what libraries they include, but here's what's detailed under their documentation: https://developer.android.com/reference/packages Whether or not it's right and whether or not the licenses are valid in the first place, I think it's fairly clear that Android did violate Java's licenses. It is important to note, these licenses are under copyright; all licenses are. These licenses simply spell out what you can and can't do with something under copyright law. Essentially, the judges are ruling that APIs should be able to be claimed under copyright. Traditionally, this didn't seem to be the case for APIs since they are designed on purpose for other people to use them. Thinking about it, I think APIs should be able to be covered under copyright, but for certain cases only. Let me give an example: Instagram used to have a wonderful API. You could gather tons of information and use it in great ways. However, they nuked it a couple years ago and now it's two useless endpoints. However, however, if you dig through the network tab on chrome or firefox, you can see all the network calls it makes to their back end servers, or API. Now, what's the difference between the API they give me and the one I found? Intent. To me, their Public API is intended to be used by anyone for any reason, within reason. Their Private API, while easy to access and navigate, is intended not to be used publicly. I think if we apply this knowledge to APIs and implement it in a law someway, we can probably very clearly define who is in the wrong and right. Therefore, this is what I propose: - Public APIs are APIs that are easily available and portrayed to be used by anyone and everyone. - Private APIs are APIs that are not easily available (such as an invite basis or requiring more than a simple download) and can only be used by their developer or company and by other developers or companies with explicit written permission and within certain guidelines. - Anything that is not an API would be source code and can not be modified, re-distributed, and branded as the same source code - Anyone can create their own source code that is nearly identical to another, and two applications can serve the same purpose in a nearly identical way - Methods or design that can be reverse-engineered without using another's source code can't be copyrighted. - However, these methods or design can't be intentionally used in poor taste or in a way to damage another person or company. For example, a method on how to store data in a 3 dimensional array is fairly common knowledge. Figuring out how an encryption pattern works without referencing source code can'tbe copyrighted, especially since at that point it's a major security flaw. However, someone using that encryption pattern to break into a database or steal information (generally hack) is illegal. This idea could certainly be ironed out, but I think those general guidelines make sense. Also, this essentially throws patenting out the window, which I think is the goal of open source, but it keeps things fair and equal. By these rules, Oracle can't sue Google. In my eyes, if they built an API with the expectation that people can use it freely and make it so easy to obtain, they shouldn't have grounds to sue Google for making one of the world's most impactful operating systems just because it ended up being used everywhere. If I go and build a node API module for people to use, I shouldn't incriminate someone for using my API to build their software and let other people use my API through their software to interface with other people's software.
  5. I use Voicemeeter Banana to manage my audio. It works well. https://www.vb-audio.com/Voicemeeter/banana.htm
  6. DarkSwordsman

    Dual PC Streaming Guide

    I recently made a Dual PC streaming guide. It's as comprehensive as I could make it for anyone that wants to get started with Dual PC setups. I can't vouch for ridiculously high quality setups with $10,000+ in production equipment, but if you're looking to get into higher quality streaming with a relatively low barrier to entry, this is my guide on reddit. Feel free to leave feedback on there or on here. https://www.reddit.com/r/Twitch/comments/af18w4/ultimate_dual_pc_streaming_guide/
  7. Hi all, We have a large lan center with about 100 PCs with GTX 1080s in them. We also have 1080p 240hz BenQ monitors. I set 240hz in the Nvidia Control Panel under the "PC" 1080p resolution. I also set "Preferred Refresh Rate" in 3D settings to "Highest Available". Restart a few times, works great. I make an image using FOG (Free Open Ghost). I apply the image to a new PC. PC starts up, and it's at 60 Hz. Nvidia has me re-accept the ToS when I go to the Nvidia Control Panel. Resolution is set to 1080p 60hz under "Ultra HD, HD, SD" resolutions. Resources on this sort of scenario are limited, and I can't really find any other solutions online for the resolution and refresh rate being reset. Edit: I should clarify that I currently delete the user profile on Shut Down. We have Gizmo set to restart when they log out of their Gizmo account, so it deletes the profile and re-makes it to log them out of Chrome and what not to protect user-data. Restarting the PC, I need to re-accept the ToS, but the refresh rate stays at 240 Hz with the "PC" 1080p resolution. Is shutting down the PC, imaging, and then turning back on on another PC causing Nvidia Control Panel to reset to default? It still retains the "Highest Available" setting doing this. Any ideas?
  8. DarkSwordsman

    "Shadow" Gaming Service

    Shadow is apparently a new Gaming platform, similar to ShadowPlay from Nvidia, that essentially lets you play games from a Virtual Machine on their network. You can play all the games you want, but it costs $34.95 per month and you can only play games that you have purchased. Quoting the ARI Chat Bot: Their Virtual Machines come with the following (from here) - 8 dedicated threads on an Intel Xeon server - 12 GB DDR4 RAM - 256 GB of Storage - Single-user high-end Nvidia graphic card On their main page, it has a little more information about their virtual machines: What I thought was interesting was their supported platforms are Windows, OSx, Linux, and Andriod, with iOS "coming soon": They also claim the following: And further down the page: And lastly: So what are your thoughts? I think that this is definitely a great service, but I don't know if people would be willing to pay $34.95 a month. You could justify that the computer that you'd want to build would be 3-4 years of gaming on Shadow, but is the possible latency worth it? What about people that play CS:GO, DOTA 2, League, or Overwatch where timing is everything? How will it work with hardware like racing wheels and joysticks? I guess another theoretical question: What if people want to stream on the platform? Can you do more than just game? What about the possibility of malware or viruses?
  9. DarkSwordsman

    Use a Second GPU to Boost OBS Performance

    I did tell OBS to use each one. The issue is that it's a completely separate part of the card that encodes and decodes video. In most cases, NVENC works well, but only for very low quality streams (i.e: 720p30 @2500-3000 Kbps). I really think there is quite a bit to gain if I'm using the CPU to encode. In my testing with various games, there were little to no (0% average with 0.5% outliers) dropped encoding frames, even up to 720p60 and 1080p30 @ 6000 Kbps. The real issue, which was mostly apparently in PUBG, was dropped rendering frames (which means dropped frames due to the graphics card taking too long to render the scene). As I said, running OBS on the 650 Ti-powered screen was just enough to get that rendering lag down under 10 frames total for about 20 minutes of gameplay.
  10. DarkSwordsman

    Use a Second GPU to Boost OBS Performance

    I'll take a look when I get home. And I figured the 650 Ti might not be the best, but it's what I have. Got it for $60 on eBay. I'll take a screenshot when I get home. And yes, I am using the CPU to encode. It's an i7-2600k @ 4.5Ghz. It was sitting at about 75% utilization in task manager while playing, and there were literally no dropped frames from encoding lag. I did try using NVENC with both GPUs and it tanked very hard.
  11. So I was having issues with OBS dropping so many rendered frames when playing PUBG. I was recording at 720p60 @ 6000 Kbps, veryfast. I had remembered about an hour ago, it was dropping on a different game when it was on a monitor going through Integrated Graphics, but when I moved OBS over to a different monitor using my GTX 970, it was perfect with no issues. So I then thought I should take the 650 Ti from my streaming PC (which I am trying not to use since single-PC streaming, long-story short, is easier). I plopped it in and tested with PUBG. Now I know I don't have a lot of results since I'm about to go to bed, but I at least wanted to share my findings. All testing is done at 720p60 @ 6000 Kbps, veryfast, with a tip jar, webcam, and desktop capture. GTX 970 only: averaged about 50-55 FPS, dropped about 8-10% of frames. GTX 970 with OBS on GTX 650 Ti screen: averaged 60 FPS with some outlier 55-59 FPS shots, and dropped only about 3-4% of frames. Now I know I am still dropping frames, but that's a significant decrease. I am now wondering if there are any settings I can do in OBS to push it farther since it seems that the GTX 970 still does some rendering, and actually may need some processing power to account for the separately rendered screen. What I mean by accounting for the separate screen: Note the following image: This hump is me moving OBS to the 650 Ti monitor and back while not recording. It went from (970 and 650 Ti respectively) 6%, 0% to 11%, 32% to 6%, 0%. So it seems that the GTX 970 is doing extra processing to account for the extra screen, but isn't caught up rendering the scene on OBS. Just thought I'd share. I will be testing this further, especially if I can bump it down to 48, or even 30 FPS if needed, though I would not like to.
  12. DarkSwordsman

    How should I upgrade my PC?

    Also note, I am using an i7-2600k @ 4.2 GHz. I am a web developer, so you can see me with 20+ Tabs on Chrome with Spotify and Twitch playing at the same time (I know I'm weird), with a Front End and API server both running locally, with Discord and VScode open, so easily 27 different processes, not including the audio decoding on Twitch and Spotify, and I run perfectly fine, no issues. It hits about 8-10 GB of RAM. Gaming it runs well. The only thing it stuggles with is OBS. I can kinda push out a 720p30 stream @ 2500 Kbps, but it struggles depending on the game. That's why I want to go with a 7820x build sometime around January.
  13. DarkSwordsman

    Twitch Partner Agreement and Stream Alerts

    Lol, that's true. The only steps needed, though, are to create an account on StreamLabs or StreamElements, connect the account to YouTube and Twitch, and then just import the overlays. The hard part is deciding what to show, whether it be only Subs and Supporters, or also top donations, etc. I know at bare minimum, implementing an alert box that simply calls out the action that occurs is not that difficult and likely the best first step in that direction.
  14. DarkSwordsman

    How should I upgrade my PC?

    1900x at minimum certainly would be an upgrade, but if you're going that route, you may as well go for an i7-8700k ($350). Or, to be more cost effective, an i7-8700 (no overclocking, but $290) or even an i5-8400 ($190). Since you're only gaming, you won't really be able to benefit from all the cores. You would benefit more from stronger cores than more cores. Edit: If you're getting anything less than a 1900x, you may as well go Intel, especially in this case.
  15. DarkSwordsman

    Twitch Partner Agreement and Stream Alerts

    I know what you mean. Making profit from this is nowhere really in their scope, but I am focusing more on user engagement. When a user Subscribes on Twitch or "Join"s on YouTube, they are committing a monthly amount to them. For that to go unnoticed is really a shame, at least from a Twitch perspective. Of course, I know they push far more traffic on YouTube because that's their main platform, but I'm sure many people know, Twitch is the superior platform for many reasons: Higher Quality streams YouTube downgrades your codec unless you are a very large personality, but even then, it's not great) Goes with the idea of the High Quality streams that they have (i.e: Streaming to FP at 30Gbps) Less latency to broadcaster Twitch has been pulling off sub 2 seconds flawlessly for a while, meanwhile YouTube struggles to hit 6 or 7 seconds. The YouTube stream is usually delayed about 14-16 seconds from the Twitch stream, so about 18-19 seconds overall. Bits Twitch has an integrated currency that promotes people that don't want to drop a ton of money. Bits generally can be found to be used more than regular donations. Subscribers Twitch implements the idea of a "Subscriber" better than YouTube, because of benefits like: Emotes Role on Discord Servers Chat features like: Immunity from slow mode Subscriber-only mode Terms of Service Twitch has a killer terms of service that benefits the viewer much better than YouTube's does. Raids/Hosting This alone has allowed smaller streamers to grow immensely. I know it doesn't really affect LTT, but it's something to note. Design Twitch has spent a lot of time developing their platform, so all the previously mentioned benefits blend seamlessly together My point is that Twitch greatly allows for user interaction, and I know that WanShow is really just a News channel, but they do try to engage the audience by looking at chat and what not. Making the stream more interactive (polls, acknowleding subscribers, bits, donations, etc.) I would think only benefits them. Also, to note, I don't mean acknowledge as in read every donation, subscriber, etc. I simply mean by providing some context on screen like a scroller for subs/donations. They could even do something for Tier 3 subs, or Tier 2 or something. There definitely is a way they can provide a little more interaction like that without getting too intrusive.