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 JacobFW

  • Title

Profile Information

  • Gender
  • Location
    Dallas, Tx
  • Occupation
    Software Developer


  • CPU
    Intel i7 4790K
  • Motherboard
    Gigabyte Z97 Gaming X
  • RAM
    Kingston HyperX 4x8gb DDR3-2400
  • GPU
    EVGA GTX 1060 6GB
  • Case
    Corsair Air 540
  • Storage
    Sandisk Extreme Pro 960 GB + 2x2TB WD Red Raid 1
  • PSU
    EVGA Supernova 750P2
  • Cooling
    Noctua NH-D15
  • Keyboard
    Corsair Strafe
  • Mouse
  • Operating System
    Win 7 Pro

Recent Profile Visitors

973 profile views
  1. No. My explanation regarding buybacks was to let people know that a company buying back stock isn't in and of itself an indicator that they're facing really stiff competition or in financial trouble, but that what stands out about Intel is the stagnating/declining growth, and the dramatic increase in buybacks.
  2. Original Article on Seeking Alpha Despite increased competition from AMD (whose stock price more than doubled this past year), Intel's stock price is trading at all time highs. A review of their 10-K Annual Report shows that this growth is being fuelled by stock buybacks. Stock buybacks in and of themselves aren't unusual, as they are on of the ways in which companies return value to investors, the other being through dividends. However, there are two things that stand out for Intel Intel's growth in key areas has either decreased or flattened out The amount of money for stock buybacks has increased over the past 3 years, from $3.6 billion in 2017, to $10.73 billion in 2018, and to $13.576 billion over 2019 With almost no competition over the last 10 years, Intel has built up a nice little piggy bank being able to charge whatever the hell they want. Now they're spending that in order to keep up appearances. Hopefully they're also spending some of that on R&D.
  3. You need to define what type of changes you're making that are being propagated to each of the CSV files. Are the changes you're making dependent upon what's already in each of the files, like say checking if some value in one of the columns contains a certain word and replacing it, or adding 10 to a number in the 5th column, or are the changes made going to be constant, so just completely disregarding whatever is in the other files, like changing a field to have a set value. You might not like it, but you are going to have read in the entire file into a variable, make the necessary changes, and resave it to another file. For each of your files. I would also highly recommend that you don't overwrite your existing file until after the other file is saved. So once you make your changes: a - Save that data to a temporary file (leaving the existing file alone). b - Change the name of the original file to something like <original_filename>.csv.old c - Change the name of the new file to the filename you need it to be d - Then delete the old file This will protect you in case you have a power outage of the system hang or crashes. Similar to straight_stewie, I would also like to say that if you're doing this to avoid having to deal with setting up and maintaining a database, then you cannot comprehend just how big of a mistake you are making, and just how much you are shooting yourself in the foot. A few of our clients use products developed by people who decided to make their own "database" rather than use an existing one. They are always horribly slow, extremely crash prone, and lack all of the features that have been added to databases over the last half a century. Yes, there is a bit of a learning curve, not to mention the time necessary to get everything setup and working, but having dealt with both the good, the bad, and the ugly ones, I can promise you it's worth it. Best of luck to you. I have a feeling your going to need it.
  4. I don't have any experience with NoSQL db's. I am however a big believer in the philosophies of To be clear, I don't have anything against either NoSQL db's, or RDMS', but it is usually worth being sure that whatever difficulty you'll have to go through (including any potential bugs you might introduce, or obfuscating your code and making it harder to manage in the future) are going to be worth it.
  5. Pay someone else to do it. Assuming Wolfycapt is correct, what operating system are you referring to, and what changes do you want to make? If he's not and you're literally trying to make your own OS, then I think the first question you need to answer for us is what are you trying to do that the existing Operating Systems are failing to work the way you need them? And perhaps more importantly, do you think it's possible to modify an existing OS to accomplish the task you need. In case you don't realize it, there are waaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyy more people who know how to mod an existing Operating System, than who know how to create one from scratch. That means you have a far better chance of finding someone who can help you mod an OS, and of being successful at it. Not to mention it's probably far less work.
  6. I've gone back and forth over the years, but I still think that C/C++ is a great starting point for any developer. I don't think the majority of people should go hardcore into developing with it (unless you're particular field calls for it) but I can say that many mistakes I see people make in higher level languages tend to stem from not understanding what's happening behind the scenes. Two great projects I think for anyone starting off in C/C++ to help learn are Writing a function to parse an integer from a String Writing your own String class To be clear, I am NOT saying you should use your versions of those in production code, but writing those from scratch will teach you a lot. Having experience in multiple languages will help you out a lot. The next language I would recommend learning is JavaScript, both because it's a great introduction to scripting languages, and it's the de facto* standard for client side programming and web programming. Additionally all you need to start learning it is a web browser and text editor (I recommend Notepad++). Once you get familiar the basics of Javascript down, a great project to get yourself more familiar (and which is also a very realistic to the type of work you will do as a web developer) is to find some online service that has a Web API, and write code to interface with it. Additionally, one of the most important things that I cannot state strongly enough is: Read. The F@$#ing. Documentation. I cannot stand developers who insist on trying to do everything from memory. Find sites that have the standard for your language, or documentation for whatever library you're working with. Sites like W3Schools or CPlusPlus.com are great, because not only do they teach you, but also document many of the aspects of the language as well. Finding the documentation should always be the first thing you do in any project. * Yes, I know. Technically it's the de jure standard in this case.
  7. Unfortunately there's not really an easy answer to your question, as it really depends entirely upon the company you're applying to for your job. If it helps, I can tell you that I got my job as a developer with an Associates in Computer Science and an incomplete bachelors. My boss wasn't even really that concerned with my background apart from the fact that I had some experience. After my interview he gave me some problems he wanted me to work at home and send him the answers when I was done. He told me something to the effect of "I don't care how you do it; whether you use books, google, whatever. I just need to know that when I give you a task to do or a problem to solve, you can get it done." If you're more comfortable being taught by an instructor, I would recommend checking any community colleges that might be around you, as they'll likely be several orders of magnitude cheaper than the boot camps. The catch there of course if they'll take more time to bring you up to speed. I have to agree with @AbsoluteFool on this though. Even if you do take a course of some kind, you'll get much more out of it if you already have some experience. Here's the best advice I can give you right now, and apologies, but I'm going to be a bit direct here. if you think there's a chance you'll want to do this professionally, then stfu, and start one of those online courses. You're not doing yourself any favors by waiting and worrying about what someone else is doing. Even if you don't end up doing it as your profession, considering just how integrated computers are into every other career nowadays, there's probably a damn good chance it will help you out in whatever other field you go into, not to mention it's a fun skill to do as a hobby. As the great philosopher LaBeouf once said Just Do It
  8. This is a well known problem with handling currency in coding. Floating point arithmetic was designed to be approximate, not necessarily exact, which is part of why FP arithmetic can be done so quickly. Currency however, must be precise. One thing you can do is multiply everything by a fixed offset, so that the smallest decimal value is in the one's place i.e. 362.27 * 100 = 36227 For addition and subtraction, it won't make any difference, but for multiplication and division, your result will have an extra factor of 100 you'll need to remove to have everything offset correctly again. Google "currency in coding" and you'll find some tips for how to handle it. You might also google "currency in php". I imagine someone has encountered this problem and have some library to already handle it. Best of luck.
  9. *sigh* This can be done with IE. Not, I use IE everyday, therefore opening myself up to well deserved ridicule. This is however, one of the few practical uses IE still has left. Microsoft didn't include this functionality in Edge, nor has any other browser included it in their browser, as today it's considered a security risk. It's this functionality that's make it's fairly simple for many viruses to spread, as it provides fairly high level access for scripts running in browser.
  10. Technically this can be done using JScript, however this has to open the page in Internet Explorer, so the website has to load correct in IE. https://blog.westmonroepartners.com/creating-user-interfaces-in-windows-scripting-host/ This does require some basic knowledge of HTML, CSS, & JavaScript, as you'll need to be able to identify the button in the DOM, but your situation is relatively simple, so it shouldn't be too difficult. Assuming the page does load correctly in IE, this is probably the most reliable way to do it, but I know JScript can also be used to open programs and click on the screen as you want to do, but I don't have links to those resources.
  11. Ahhh, one of my favorite topics. First off, I need to dispel one notion that really needs to curl up in a corner and die. There is no such thing as a "True Random Number Generator" There are both theoretical and practical reasons for this. There are hardware random number generators, but quite frankly even this is a bit of a misnomer. Any Hardware RNG worth it's salt will have some way of harvesting entropy from a physical source (usually a sensor of some kind), which it then proceeds to run through various hashes or ciphers, before outputting it the final result as data. Generally there will be some safety margin to help maximize security, so for example, for every byte that it outputs to you, it will have to gather 8 bytes from it's entropy source. The reason they do all that instead of just outputting the data from the entropy source is because while it's difficult (but doable) to build device that outputs high quality random bytes, it's damn near impossible to make one that reliably does it for the device's entire workable life span. Remember, they're physical hardware, and physical hardware can break, and it is very, very difficult to tell if a hardware random number generator is broken or not, and usually don't find out until it's too late. This is why usually when you see descriptions of Secure RNG Systems, they'll usually involve an entropy pool, which basically just mashes together a lot of data from one or more entropy sources, that way even if there are certain biases in the entropy data, as long as there are some random influence or chaotic perturbation to the data, with enough data the final output should be infeasible to predict or reproduce, because from an engineering perspective, the actual goal of a Secure RNG is to be: Unpredictable Irreproducible Apologies for the long winded approach (see above; favorite topic). To actually answer your question: it depends, what do you plan to use it for? For instance you mentioned that the random number generator in C/C++ will output the same number every time. This is in fact, completely intentional. The standard PRNG wasn't designed to give you a high quality random stream of numbers; it was designed to give you a bunch of various bytes that way you didn't have to come up with a bunch of test data and store it some where, and it was designed to repeat to help you debug your code. Imagine if you ran your code once, it crashed, you go back in and think you've figured out the bug, recompile and run it again, and this time it works. If it uses the same sequence as the time it crashed, you can be pretty sure you got the bug, but if it uses a completely different sequence of code, you can't be sure. Just to note as well, C typically uses a Linear Congruential Generator, due to it's speed and low memory. You can actually another low memory and even faster PRNG using a variation of the famous Middle Square Method. Quite honestly, most PRNG's out there are designed to be reproducible. It's really only in a security context that you truly don't want the numbers to start repeating. In pretty much every other situation, you at least want to have the choice, so while you might use data from an entropy source to seed your PRNG, you'll want to save that seed, just in case you need to run it again. So again, it really just depends
  12. No, it just means there's a high initial cost. Whether or not that cost is justified depends entirely upon the operations, how many he has to do, as well as how often it would have to be rebuilt.
  13. My favorite one line batch file wscript script.js Masochism averted.
  14. I feel like I'm missing something, so apologies if this is unhelpful, but I think it might be faster to turn this into a hash table. In your case you might need two, one for hash['OU']='this', and another for hash['this']='OU'. I guess technically you could just combine them into one if you have the key value be an object rather than another string. That would give you O(1) lookup assuming you're searching by the exact string that's already stored every time. If you need to find a substring within that string, you might try using a Trie. I believe there are already several implementations that can be used in .NET. In both cases however, you'd be trading off much faster looking up for slightly higher memory usage. Again, sorry if this isn't helpful. Could you perhaps makeup a few examples and show exactly what sort of operations you'd be performing on them.
  15. First thing I would do is a sanity check, and just have it output the variables to the console. // something like... console.log(e.lengthComputable + " | " + e.loaded + " | " + e.total); Just to verify that it's working the way you think. I would also remove the "const" before percent. Add that back in when you're sure everything else is working. I'm guessing this is where you're problem is though $(".progress-bar").width(percent.toFixed(5) + "%"); When I saw your code that line immediately caught my eye. I've run into so many stupid problems dealing with sizes and alignments in HTML, and that looks exactly like the kind of code that would have many slamming my fists on my desk. Just remember the rule of thumb for debugging an unknown problem. Undo your most recent modifications until you have the code in a working state. Add your changes back in one at a time until it breaks. Voila, you've found the problem. EDIT: Sorry, forgot to add this as well. Comment out the event listener code for now, and make sure everything about the upload code works (again, see debugging code above).