Jump to content

straight_stewie

Member
  • Posts

    2,705
  • Joined

  • Last visited

Everything posted by straight_stewie

  1. An RGB color (of any bit length), is essentially just one big number. While we view a 24 bit color as having three 8 bit components, it is really only a single 24 bit number. Think about it like this: The hex color #34eb55 has an RGB tuple like Hex#(34, eb, 55). This means that the color really is just a big number. So the problem "producing all 24 bit colors" can be equated to the problem "produce all 24 bit numbers", which is overwhelmingly simple and relatively fast to do: allColors = range(0, 16777215 + 1) For 16M integers, this is generally much faster than reading a file on disk, and at least equally as fast if not faster than reading a file from memory. Alternatively: Your question is fairly vague. There are multiple common definitions of 24 bit color. Do you mean, "24 bits per color" or "24 bits per channel"? Does "combination... with 2 pixels" mean "every possible color stored in 2 pixel files." or does it mean "a single file with every possible combination of 2 colors". These problems are very different. There are only 224 colors, while there are 216,777,216 combinations of 2 colors. And that's assuming that the answer to the first question is "24 bits per color". Regardless, there is a simpler way to store every possible color combination: The color "pure white" is defined as an equal mixture of all other colors (and therefore, all other color combinations, since all color combinations are themselves, colors). Thus, for a 24 bit per color color, all possible colors are represented in the color generated by: allPossibleCombinations = 0; for (i in range(0, 16777215 + 1): allPossibleCombinations |= i
  2. I agree fully. This is where you lose me. I can control how much profit any given company gets from me by controlling how much money I give them. (or how much I use their "free" services, as the case may be). I kind of agree with you on some fronts, in that I think that cell phones should be a much more open environment, much like the PC world. I believe that I should have the right to modify, install, uninstall, repair, or replace my phone as I see fit. I also believe that it would greatly benefit the consumers if there were a largely followed standard for smartphones, as there is for the PC world. Companies would then compete on operating systems and applications instead of devices. But overall I think your over-arching argument that the company is responsible for what ends up in the landfill after consumers have purchased their product is flawed. Once a consumer purchases the product, so long as the business provides the support that they advertised or contracted to provide, that's where their responsibility ends. For example, Samsung never promised to make sure that my phone is safely recycled when I'm done with it. That's my job. What you're forgetting in all of this is property ownership: When you buy property from another entity, that property ceases to be the entities property and becomes your property. It therefore also becomes your responsibility to see to it that the property is correctly used, maintained, and finally, properly disposed of. It cannot be the entities responsibility to do those things unless the entity has either agreed with you to do those things for you or they still have equity in the property.
  3. Here is a screenshot of the solution browser. I've highlighted the project file yellow.
  4. Never-the-less, it is the law in many jurisdictions in the United States.
  5. Wolfram Mathematica is only about $300 (or so) now. That's about 1/3 the cost of MatLab, at around $800. I don't know if it makes it cheap enough, but the main competitor to MatLab is Wolfram, and in some ways, it's much better than MatLab. In other ways it's not as good. Alternatively, there are many programming languages that are free, and both MatLab and Mathematica are written in one of those free-to-use languages. MatLab uses C/C++ and Fortran, while Mathematica uses C/C++. Both use Java for their IDEs/ interfaces. What exactly are you trying to simulate? I ask because you may not have to build the whole thing up by scratch: Most languages will have freely-available third party libraries to do a lot of the things that MatLab/Mathematica can do.
  6. This. This is the key to the whole operation. And by that, I mean life itself.
  7. So if we can assume for a moment that you are planning on going to a university where the CS department is part of the engineering department, you might actually learn quite a bit without including your minor in the analysis. The CS department at my alma mater required these other courses (names are representative, and do not include obvious CS classes like "Introduction to programming"): Introduction to college Chemistry Introduction to college Physics Introduction to Digital Circuits Introduction to Microprocessor Design Calculus I through Calculus IV Two Science electives (offered by the college of engineering, most students chose physics electives) Two math electives (most students chose statistics and Linear Algebra) Four general electives (this allows you to complete a non-CS minor, and is where you can differentiate yourself) Differentiation within the major is provided by 27 hours of CS department technical electives, which are generally courses that dive deeper into things like Operating Systems, database design, "compilers", Machine Learning... The big problem with programming that many people don't understand is that it generally requires a whole lot of knowledge specific to the industry in which you are working. A few examples of this: If you're a developer working on flight control systems for a new aircraft, it would be very nice if you knew a thing or two about how aircraft fly. You don't have to be a serious expert on the mechanics of flight, the business will have people who help you with that, but you'll need to know fairly advanced stuff about flight off the top of your head. Think about it: Would you want to fly in an aircraft where the developers of the software running the aircraft knew nothing about how planes fly? If you're a developer working on an online security trading platform, it would be very nice if you knew a thing or two about accounting, as well as securities law. Just look at all the trouble RobinHood has had, with a new lawsuit from the SEC that basic alleges that they lied. RobinHood's response was essentially that they didn't know they were lying (which means they didn't know what they were doing). They have had more than one glitch which allowed unqualified users to take on infinite amounts of leverage (in at least one case, the leverage was not on the users back, which is terrible business and actually cost RobinHood 100's of millions of dollars before they fixed the issue). If you're a developer working on maintaining a database of student records for an educational software company, it would make things alot easier if you knew a thing or two about what statistics were important in measuring student growth. Which brings me to the next point: All of that only matters if you are actually a good programmer. Any competent programmer can implement and test an already existing specification for a "thing". It takes a whole 'nother level of knowledge to be writing the specifications, and is where the jobs get really very fun, where you start rising up in a company, and where job titles start to include fun words like "architect", "analyst", and "lead". The next BIG thing is a very tough question. For example, the consumption of House Crickets (the little grasshopper like insects) is increasing rapidly. There is a shortage of large cricket producers, and the industry is very speculative (businesses come and go rapidly). Human consumption of Crickets (as food) is growing rapidly, and once it takes off will inevitably be "the next BIG business". From my own experience as a small commercial cricket producer (it was convenient), intelligent analysis and automation, without overdoing it, is the key to being a competitive, and profitable, cricket producer. Or, on the other hand, quantum computers are the next BIG thing. Or, yet again, AI is the next BIG thing. Vr was supposed to be the next BIG thing. There's no telling what the next BIG thing actually is. Remember when the next BIG thing was flying cars? To make the point clear, we can look at investment strategies. It's common knowledge that past performance does not indicate future performance, and it's common knowledge that humans cannot reliably predict the future. So how do some people, like Warren Buffet for example, become so successful in long term investment holdings? It's really very simple: Past performance does indicate future generalities, if you actually know what you are looking at. Or, in shorter words, don't try to get on the next big thing. Try to get on the current thing that will get bigger. Another option is to look at popular statements, and try to make them lies. For example, all highschool math teachers (every single one I swear) used to say "you have to memorize this because you won't always have a calculator in your pocket". Well, Apple really made liars out of them didn't they? I don't know a single person who doesn't always have an entire computer in their pocket. Businessmen the world over used to say "the internet is just a fad", and they laughed all the way to the bank when everyone else fell down in 2001. But here we are where the FAANG group of businesses is included in the biggest and most stable businesses in the world. Everyone thought that Taxi services would always be a stable business. Yet Uber knew better. I mean, it's tough to give advice about what the next big thing is going to be, but those are two strategies that tend to work out well (but not always).
  8. And lose half their production capacity? Of course not.
  9. This is also my preferred method. In a simple program like this, it usually goes something like: stopMe = False while not stopMe: myVar = GetUserInput() if myVar == "stop": stopMe = True else if myVar == "go": MyGoFunc() else if myVar == "andOnandOn": MyOtherFuncs() EndOfLoopFuncs() The standard user input loop is: Get input Parse Input Operate on Input Goto Step #1
  10. No need to get defensive. Just pointing out that maybe it's in very poor taste to be going around joking or implying that one's self (or even one's cousin, as the case may be) is archiving child abuse material.
  11. IMHO it's overwhelming the number of users who are willing to reply with the implication that they are happy that they archived their favorite videos, on a thread about a pornography website removing child abuse material, without also stating that they do not archive any child abuse material.
  12. This is not always true. C# can be compiled to standalone in some circumstances. In others the users will need to have the runtime. In some cases you will need the user to install both the runtime and the libraries. In all cases you end up with a .exe file. There are various applications that you can use to package a standalone python application without assuming anything about the users machine. A good search term to get started is "python standalone application". I found this StackOverflow thread, among many other useful results, using that term. But basically there are two paths you can take: Install the appropriate python interpreter on the users machine if it is not already there Then distribute your .py and your resource files. Be warned that this strategy can have a few pitfalls and is not necessarily as simple as it seems. Run a compiling tool over your project (see above). These tools basically convert your code into the C/C++ that it is scripting, and then compile that. Good tools usually include enough features that what they spit out is a distributable application. Another option is that if your friends are developers as well, just distribute them your source code and resource files. Better still, put your project on GitHub and direct them to the repository. You may just find that they are interested in helping.
  13. That will not be true at least until we decide whether we think the No-Communication Theorem is true or not. We cannot do real time graphics rendering non-locally until we can roundtrip data without any non-negligible latency.
  14. Actually, eventually the size of the chips will start increasing again. There is a minimum size that transistors can be produced at period, let alone economically. Let's be clear: We are very nearly at that size. Moore's law is over. The only remaining way to increase transistor count is to increase die size, making processors even larger than they already are. Also, your statement falls flat on face value: Graphics cards would also have to reduce in size, which is the opposite of what we are seeing: they are increasing in size across the board, so long as you include factory coolers in the analysis. Beyond that, the PC building scene is largely based around aesthetics right now, which requires empty space. Liquid cooling also requires vast amounts of space, among other considerations. Laptops also have a minimum useful size: The screens must be large enough to be interesting and the keyboards large enough to be useful. The PC building community will experience ups and downs, as it always does, but to say that it will die completely because mobile devices become more powerful is to display a serious misunderstanding of the community and the issues at hand.
  15. Better yet, establish views and stored procedures to do the vast majority of the work, restricting ad hoc queries pretty much solely to the domain of debugging, testing, and analysis. Not only do these features guard against injection, they allow you to define who is and isn't allowed access to what, as well as increase maintainability and flexibility by helping to encapsulate the underlying structure. OP can make use of these features without having to switch DBMS, as SQLite already provides them.
  16. The only way to completely undo the damage done from a serious doxxing incident is to make the now public documents useless. This can mean anything from changing some login information on a few accounts, to changing domiciles (as is the case here), to having to close/switch/move bank accounts (including credit cards). What all will need to be changed depends on what all was revealed. This is not the same as determining what all the doxxer has released so far, rather, it is determining what information the doxxer might still have. This means that your friend needs to conduct a full analysis of her previous security policies and determine exactly what information could have been leaked, and only then can your friend make all of the changes necessary to make the leaked information useless. Assuming that she is an average mid 20 somethings adult, this might involve maybe 50 man hours if she is efficient about it. If your friend is a minor, then I would suggest that you advise her to bring her parents in on this.
  17. Try searching for the whole term, then maybe you'll find something actually related to the phrase... https://en.wikipedia.org/wiki/PC_Master_Race You can pick apart nearly anything and make it seem bad. Here's a life tip: Stop doing that, you'll lead a much happier life.
  18. Everyone seems to be assuming that selling processors they've designed also means that they would be giving people the right to build their own Apple devices. The two are unrelated to each other, so here's a sure-to-be-unpopular answer: That isn't necessarily the case. Apple could: Build their own devices and their own processor and distribute some of those processors for use in any design. Build their own devices and their own processor and distribute some of those processors for use in non Apple-infringing designs. Release older designs on a regular schedule. Design processors specifically for the wider market. Most of these don't make sense. Option 1 clearly completely gives up Apples moat. Option 2 is pretty risky, there will certainly end up being many ripoffs, although most major companies probably won't start making copies of Apple devices. Option 3 is kind of interesting as it means that Apple is always a year ahead. Which brings us to good ol' option 4. Option 4 allows Apple to tap into a market with only few major competitors, while also preventing Apple from shooting itself in the foot because they can downgrade features for processors destined for the wider market. They would keep the best features for themselves, while still being able to generate a profit (actually, pretty much the entire exercise would be all profit for them: The concern will get the processor designs for free, because they are actually being designed for Apple consumer devices, and will be profitable there as well. Beyond that, it would also improve their supplier pricing: They'll be buying all the more from TSMC, and none of the production lines will need reconfiguration between the two). In order to do that, you have to shift your thinking: Apple would probably fail if it tries to go up against Intel and AMD. They would essentially be asking the market to completely switch foundations, which is a very expensive thing to do (all apps would need to be rewritten or recompiled to work on ARM, where-as they already work on x86 and x64 processors). However, Apple could very well take on companies like Qualcomm, Microchip, and Texas Instruments (or their ARM product lines anyway). TL;DR: I think that they can do it such that they can maintain their business advantage, and that doing so might allow them to become a market leader in another very large market.
  19. TSMC's own people say that the node size doesn't actually have anything to do with the node size. In fact, the node size at that time will be at the highest spread against the claimed size since Moore first idealized IC growth patterns. Manufacturers are using node size as a marketing term, with a very loose connection to transistor density. However, node sizes keep trucking down while actual transistor sizes are starting to plateau. There are a plethora of links to reputable tech news organizations that also say this. Here are a few: https://www.pcgamer.com/chipmaking-process-node-naming-lmc-paper/ https://hexus.net/tech/news/cpu/145645-intel-14nm-amdtsmc-7nm-transistors-micro-compared/ https://www.hpcwire.com/2020/06/01/10nm-7nm-5nm-should-the-chip-nanometer-metric-be-replaced/
  20. Possibly. But that's no excuse to make any law restricting the use of encryption in any way.
  21. This is just as tired an argument as the terrorism argument. For those of us that live in the US, the government is not allowed to require us to open a safe for them, whether or not they have a warrant and whether or not we are found guilty of a crime. They are allowed to attempt to open the safe themselves after receiving a warrant to do so from a judge. To get this warrant (outside of the FISA circle), it is required that law enforcement officials prove that there is evidence necessary to solving the case hidden in the safe. Again, this does not require you or the safe manufacturer to help them, it just allows them to attempt to get into the safe themselves. The data on your hard drive should be treated identically to letters or files in your house, and to push the notion that it shouldn't is exactly the same as pushing the notion that the government (whichever one applies to you) should be allowed to send representatives of the government to your house to search your house with or without any cause to do so.
  22. As an aside to all of this, computer components on spacecraft don't only need to be cooled, they also sometimes need to be heated. Components on spacecraft need active temperature control. Many components have a relatively narrow temperature band that they can operate in, relative to the extremes of temperatures that can be experienced in space travel and interplanetary exploration anyway. Before I start, I use the term "radiator" to signify a device that uses heat radiation to cool components. Heat radiation does not require a transfer fluid anymore than electromagnetic radiation does. This is opposed to "radiators" as we are used to them here on earth, which are essentially just fluid-to-fluid heat exchangers where the atmosphere is implicitly one of the fluids. In general, they use simple electric heat elements to heat components, and generally use some kind of fluid loop to take heat away to a "radiator" designed specifically to use radiation to lose heat. However, this isn't always the case. Well, sort of. While it's almost always the case that there are "radiators" on space craft for cooling (There's only so many ways to make heat "go away" after all), sometimes heat is added by nuclear decay or by piping heat from "always on" components that would naturally generate heat (such as nuclear reactors), as opposed to electric heat generators. Additionally, cooling isn't always accomplished by radiators. On many rocket engine designs (especially on later stages of rockets, designed to be used only in space) the engine components are cooled by the fuel (which is usually cryogenic on these stages). A good visual example of this can be seen on the later stages of Falcon 9 rockets, where you can usually visually see the engine bell frost up just before ignition, because they flood it with cryogenic oxygen to pre-cool it before ignition. A third example of cooling is the Lunar Rover's amazing "Wax Phase-Change Thermal Capacitors". The rover would store heat from it's batteries by melting wax. The radiating surfaces for the wax reservoirs would have to be manually uncovered by astronauts after they were done driving, because everything was covered with mylar (a mind blowingly amazing heat insulator) for dust protection.
  23. At the time mentioned in my post I was working as a technician at a Deere dealership. I've since moved on to operating, and run a tractor and pan for a local earth moving company. Mechanic at a mine? That ought to be a pretty good deal?
×