Jump to content

fiveworlds

Senior Members
  • Posts

    1903
  • Joined

  • Last visited

Everything posted by fiveworlds

  1. I'd rather use https://software.intel.com/en-us/ai-academy/students They have tutorials on a lot of the major frameworks.
  2. Actually modern journals have mention 7 bases maybe even 8 but they are still undergoing a lot of research (https://www.sciencedaily.com/releases/2011/07/110721142408.htm) The named bases are as follows 5-hydroxymethylcytosine 5-Methylcytosine 5-formylcytosine 5-carboxylcytosine Basically just marginally different versions of cytosine.
  3. Yeah I'm the same WebGL takes years to learn it isn't something you just pick up overnight all the maths tends to be difficult.
  4. I reported it straight away but have yet to hear back from them and it has been a good few days. This isn't the first computer that has had problems with drivers I just find it frustrating that they haven't properly tested software which could make my computer completely unusable.
  5. Just the other day my computer "decided that it wouldn't wake up from sleep mode anymore" this happened as a result of a bad intel graphics driver automatic update. So I had to search for an old driver that would work on my system. The problem is that no games will play on the driver that I found because it is over 2 years old. Is intel legally allowed to automatically update me to a driver that is obviously completely untested on my computer? Surely they could make the update software know that a driver will not work on my chipset.
  6. JavaScript is actually the most supported programming language for phones. Even old phones used to use a scaled down version of JavaScript.
  7. It is basically a knapsack problem only you are minimizing the cost. Which should just require changing > to < https://en.wikipedia.org/wiki/Knapsack_problem
  8. So I sometimes do freelance programming work and I got an email last night I am kind of worried about. Whoever it is wants to hire a black-hat hacker to hack a university for $1000 which I definitely wouldn't do but I don't want whoever this student is finding somebody who might do not so nice things to them.
  9. No you should just be able to connect to the printer. But you say the printer doesn't normally support wireless. So the printer isn't normally configured to use the USB jack as a Wi-Fi adapter meaning the printer might require additional software in order to run the Wi-Fi adapter. Are you sure the generic adapter supports a mobile hotspot?? There is a specific type of adapter you can get called a wireless print server https://www.lifewire.com/wireless-product-equipment-818274
  10. What bin packing algorithms have you studied??
  11. So you can get it running then? Cool. So take a list of cities and then create a new list. Add 3 cities to the new list because the first 3 cities can be put anywhere Then for each city in the list of cities find the position in the new list which results in the lowest change in distance using the cumulative distance formula This should run in O(n) since for each new city you only need n checks to find the position it fits best.
  12. There is workarounds like this example from jsfromhell.com but they tend to be slow. BigNumber = function(n, p, r){ var o = this, i; if(n instanceof BigNumber){ for(i in {precision: 0, roundType: 0, _s: 0, _f: 0}) o[i] = n[i]; o._d = n._d.slice(); return; } o.precision = isNaN(p = Math.abs(p)) ? BigNumber.defaultPrecision : p; o.roundType = isNaN(r = Math.abs(r)) ? BigNumber.defaultRoundType : r; o._s = (n += "").charAt(0) == "-"; o._f = ((n = n.replace(/[^\d.]/g, "").split(".", 2))[0] = n[0].replace(/^0+/, "") || "0").length; for(i = (n = o._d = (n.join("") || "0").split("")).length; i; n[--i] = +n[i]); o.round(); }; with({$: BigNumber, o: BigNumber.prototype}){ $.ROUND_HALF_EVEN = ($.ROUND_HALF_DOWN = ($.ROUND_HALF_UP = ($.ROUND_FLOOR = ($.ROUND_CEIL = ($.ROUND_DOWN = ($.ROUND_UP = 0) + 1) + 1) + 1) + 1) + 1) + 1; $.defaultPrecision = 40; $.defaultRoundType = $.ROUND_HALF_UP; o.add = function(n){ if(this._s != (n = new BigNumber(n))._s) return n._s ^= 1, this.subtract(n); var o = new BigNumber(this), a = o._d, b = n._d, la = o._f, lb = n._f, n = Math.max(la, lb), i, r; la != lb && ((lb = la - lb) > 0 ? o._zeroes(b, lb, 1) : o._zeroes(a, -lb, 1)); i = (la = a.length) == (lb = b.length) ? a.length : ((lb = la - lb) > 0 ? o._zeroes(b, lb) : o._zeroes(a, -lb)).length; for(r = 0; i; r = (a[--i] = a[i] + b[i] + r) / 10 >>> 0, a[i] %= 10); return r && ++n && a.unshift(r), o._f = n, o.round(); }; o.subtract = function(n){ if(this._s != (n = new BigNumber(n))._s) return n._s ^= 1, this.add(n); var o = new BigNumber(this), c = o.abs().compare(n.abs()) + 1, a = c ? o : n, b = c ? n : o, la = a._f, lb = b._f, d = la, i, j; a = a._d, b = b._d, la != lb && ((lb = la - lb) > 0 ? o._zeroes(b, lb, 1) : o._zeroes(a, -lb, 1)); for(i = (la = a.length) == (lb = b.length) ? a.length : ((lb = la - lb) > 0 ? o._zeroes(b, lb) : o._zeroes(a, -lb)).length; i;){ if(a[--i] < b[i]){ for(j = i; j && !a[--j]; a[j] = 9); --a[j], a[i] += 10; } b[i] = a[i] - b[i]; } return c || (o._s ^= 1), o._f = d, o._d = b, o.round(); }; o.multiply = function(n){ var o = new BigNumber(this), r = o._d.length >= (n = new BigNumber(n))._d.length, a = (r ? o : n)._d, b = (r ? n : o)._d, la = a.length, lb = b.length, x = new BigNumber, i, j, s; for(i = lb; i; r && s.unshift(r), x.set(x.add(new BigNumber(s.join(""))))) for(s = (new Array(lb - --i)).join("0").split(""), r = 0, j = la; j; r += a[--j] * b[i], s.unshift(r % 10), r = (r / 10) >>> 0); return o._s = o._s != n._s, o._f = ((r = la + lb - o._f - n._f) >= (j = (o._d = x._d).length) ? this._zeroes(o._d, r - j + 1, 1).length : j) - r, o.round(); }; o.divide = function(n){ if((n = new BigNumber(n)) == "0") throw new Error("Division by 0"); else if(this == "0") return new BigNumber; var o = new BigNumber(this), a = o._d, b = n._d, la = a.length - o._f, lb = b.length - n._f, r = new BigNumber, i = 0, j, s, l, f = 1, c = 0, e = 0; r._s = o._s != n._s, r.precision = Math.max(o.precision, n.precision), r._f = +r._d.pop(), la != lb && o._zeroes(la > lb ? b : a, Math.abs(la - lb)); n._f = b.length, b = n, b._s = false, b = b.round(); for(n = new BigNumber; a[0] == "0"; a.shift()); out: do{ for(l = c = 0, n == "0" && (n._d = [], n._f = 0); i < a.length && n.compare(b) == -1; ++i){ (l = i + 1 == a.length, (!f && ++c > 1 || (e = l && n == "0" && a[i] == "0"))) && (r._f == r._d.length && ++r._f, r._d.push(0)); (a[i] == "0" && n == "0") || (n._d.push(a[i]), ++n._f); if(e) break out; if((l && n.compare(b) == -1 && (r._f == r._d.length && ++r._f, 1)) || (l = 0)) while(r._d.push(0), n._d.push(0), ++n._f, n.compare(b) == -1); } if(f = 0, n.compare(b) == -1 && !(l = 0)) while(l ? r._d.push(0) : l = 1, n._d.push(0), ++n._f, n.compare(b) == -1); for(s = new BigNumber, j = 0; n.compare(y = s.add(b)) + 1 && ++j; s.set(y)); n.set(n.subtract(s)), !l && r._f == r._d.length && ++r._f, r._d.push(j); } while((i < a.length || n != "0") && (r._d.length - r._f) <= r.precision); return r.round(); }; o.mod = function(n){ return this.subtract(this.divide(n).intPart().multiply(n)); }; o.pow = function(n){ var o = new BigNumber(this), i; if((n = (new BigNumber(n)).intPart()) == 0) return o.set(1); for(i = Math.abs(n); --i; o.set(o.multiply(this))); return n < 0 ? o.set((new BigNumber(1)).divide(o)) : o; }; o.set = function(n){ return this.constructor(n), this; }; o.compare = function(n){ var a = this, la = this._f, b = new BigNumber(n), lb = b._f, r = [-1, 1], i, l; if(a._s != b._s) return a._s ? -1 : 1; if(la != lb) return r[(la > lb) ^ a._s]; for(la = (a = a._d).length, lb = (b = b._d).length, i = -1, l = Math.min(la, lb); ++i < l;) if(a[i] != b[i]) return r[(a[i] > b[i]) ^ a._s]; return la != lb ? r[(la > lb) ^ a._s] : 0; }; o.negate = function(){ var n = new BigNumber(this); return n._s ^= 1, n; }; o.abs = function(){ var n = new BigNumber(this); return n._s = 0, n; }; o.intPart = function(){ return new BigNumber((this._s ? "-" : "") + (this._d.slice(0, this._f).join("") || "0")); }; o.valueOf = o.toString = function(){ var o = this; return (o._s ? "-" : "") + (o._d.slice(0, o._f).join("") || "0") + (o._f != o._d.length ? "." + o._d.slice(o._f).join("") : ""); }; o._zeroes = function(n, l, t){ var s = ["push", "unshift"][t || 0]; for(++l; --l; n[s](0)); return n; }; o.round = function(){ if("_rounding" in this) return this; var $ = BigNumber, r = this.roundType, b = this._d, d, p, n, x; for(this._rounding = true; this._f > 1 && !b[0]; --this._f, b.shift()); for(d = this._f, p = this.precision + d, n = b[p]; b.length > d && !b[b.length -1]; b.pop()); x = (this._s ? "-" : "") + (p - d ? "0." + this._zeroes([], p - d - 1).join("") : "") + 1; if(b.length > p){ n && (r == $.DOWN ? false : r == $.UP ? true : r == $.CEIL ? !this._s : r == $.FLOOR ? this._s : r == $.HALF_UP ? n >= 5 : r == $.HALF_DOWN ? n > 5 : r == $.HALF_EVEN ? n >= 5 && b[p - 1] & 1 : false) && this.add(x); b.splice(p, b.length - p); } return delete this._rounding, this; }; } I wonder if you can get away with not using square roots at all. For comparing two distances by hand you can do. root((x1-x2)^2 * (y1-y2)^2) = root((x3-x4)^2 * (y3-y4)^2) then the roots cancel. So you get (x1-x2)^2 + (y1-y2)^2 = (x3-x4)^2 + (y3-y4)^2 but here you have 4 distances so it is root((x1-x2)^2 + (y1-y2)^2) + root((x1-x3)^2 + (y1-y3)^2) = root((x4-x5)^2 + (y4-y5)^2) + root((x4-x6)^2 + (y4-y6)^2) which becomes root((x1-x2)^2 + (y1-y2)^2) + root((x1-x3)^2 + (y1-y3)^2) / root((x4-x5)^2 + (y4-y5)^2) + root((x4-x6)^2 + (y4-y6)^2) = c where we need to find if c is positive or negative. maybe it is still possible to cancel the roots but it is a bit harder.
  13. I can. Since this is better explained in Java I wrote it in java. First we create the class to run the actual program. Here I generate a few cities and add them to the list of cities. package mycode.tsp; ///// // Runs the program and generates the list of cities ///// public class MyMain { public static double coordinates[] = {10,20,30}; public static Cities cities; public static void main(String[] args) { City city = new City("Washington",coordinates); System.out.println(city.name + " --> " + city.coords[0] + "," + city.coords[1] + "," + city.coords[2]); cities = new Cities(10); cities.addCity(city); coordinates[0] = 30; coordinates[1] = 40; coordinates[2] = 50; city = new City("Paris",coordinates); cities.addCity(city); coordinates[0] = 60; coordinates[1] = 80; coordinates[2] = 30; city = new City("Berlin",coordinates); cities.addCity(city); coordinates[0] = 20; coordinates[1] = 100; coordinates[2] = 70; city = new City("New York",coordinates); cities.addCity(city); coordinates[0] = 30; coordinates[1] = 45; coordinates[2] = 50; city = new City("Hong Kong",coordinates); cities.addCity(city); for (int k = 0; k < cities.cities.size(); k++){ System.out.println(cities.cities.get(k).name); } } } Next is the city Object which contains information about each city like name and position etc. package mycode.tsp; ///// // The city object which contains the name and position of the city. ///// public class City { public String name; public double coords[] = new double[3]; public City(String name, double[] coordinates){ this.name = name; this.coords = coordinates; } } Then there is the class that does all the actual calculation. package mycode.tsp; import java.util.ArrayList; ///// // The cities object which is the list containing all the cities ///// public class Cities { public static ArrayList<City> cities; public static int size; public City temp; public static int index = -1; public boolean swapped; public int i; public static double coodinates[], coodinates2[], distance4, distance2; /// // Create the object /// public Cities(int size){ cities = new ArrayList<City>(); this.size = size; } public void addCity(City city){ if(cities.size() > 1){ swapped = true; while (swapped){ distance4 = cumulativeDistance( cities.get(cities.size()-1), cities.get(0), cities.get(1), city ); System.out.println("test " + city.name + " "+distance4); /// // The first Problem /// cities.add(city); } } else { cities.add(city); } } /// // Cumulative Distance Formula /// private double cumulativeDistance(City left,City middle,City right,City middle2){ return loopedDistance(left, middle,right) - loopedDistance(left, middle2, right); } /// // Looped Distance Formula /// private double loopedDistance(City left,City middle,City right){ return distance(left.coords, middle.coords)+distance(right.coords, middle.coords); } /// // Euclidean Distance Formula /// private double distance(double coordinates[], double coordinates2[]){ double distance3 = 0; int t = 0; while (t < 3){ distance3 = distance3 + Math.pow((coordinates[t] - coordinates2[t]), 2); t++; } return Math.sqrt(distance3); } } The first problem is that when I try to get the cumulative distance then the result is. Berlin Cumulative Distance --> 0.0 New York Cumulative Distance --> 0.0 Hong Kong Cumulative Distance --> 0.0 This is because the computer handles square roots badly. So then you would have to work out a way of finding the cumulative distance quickly (that is to say in polynomial time) since the rest is basically just bubble sort. I would imagine the fastest way of solving the square root problem is to design a rom chip which maps integers to their square root then send data from java to the chip and get the result.
  14. http://lmgtfy.com/?q='Word+couldn't+create+the+work+file
  15. Hmm I suppose that might work. <script> var cities = [[0,0],[30,40],[100,50]]; var distances = []; var temp = [,]; var newTempCumulativeDistance; var newTempCumulativeDistance2; var tempCumulativeDistance; var tempCumulativeDistance2; function distanceFormula(x1,y1,x2,y2){ return Math.sqrt((x2-x1)+(y2-y1)) } for(var i = 0; i < cities.length - 1; i++){ distances[i] = distanceFormula(cities[i][0],cities[i][1],cities[i+1][0],cities[i+1][1]); } distances[distances.length] = distanceFormula(cities[0][0],cities[0][1],cities[cities.length-1][0],cities[cities.length-1][1]); tempCumulativeDistance = distances[0] + distances[distances.length - 1]; for(var t = 1; t < cities.length - 1; i++){ newTempCumulativeDistance = distanceFormula(cities[t][0],cities[t][1],cities[cities.length-1][0],cities[cities.length-1][1]) + distanceFormula(cities[t][0],cities[t][1],cities[1][0],cities[1][1]); newTempCumulativeDistance2 = newTempCumulativeDistance + distanceFormula(cities[0][0],cities[0][1],cities[t-1][0],cities[t-1][1]) + distanceFormula(cities[0][0],cities[0][1],cities[t+1][0],cities[t+1][1]); tempCumulativeDistance2 = distances[t] + distances[t-1] + tempCumulativeDistance; if(newTempCumulativeDistance2 < tempCumulativeDistance2){ temp[0] = cities[0][0]; temp[1] = cities[0][1]; cities[0][0] = cities[t][0]; cities[0][1] = cities[t][1]; cities[t][0] = temp[0]; cities[t][1] = temp[1]; temp[0] = distances[0]; temp[1] = distances[distances.length - 1]; distances[0] = newTempCumulativeDistance; distances[1] = newTempCumulativeDistance2; distances[t] = temp[0]; distances[t+1] = temp[1]; tempCumulativeDistance = distances[i] + distances[i - 1]; } } for(var i = 1; i < cities.length - 1; i++){ tempCumulativeDistance = distances[i] + distances[i - 1]; for(var t = i; t < cities.length - 1; i++){ newTempCumulativeDistance = distanceFormula(cities[t][0],cities[t][1], cities[i-1][0],cities[i-1][1]) + distanceFormula(cities[t][0],cities[t][1],cities[i+1][0],cities[i+1][1]); newTempCumulativeDistance2 = newTempCumulativeDistance + distanceFormula(cities[i][0],cities[i][1],cities[t-1][0],cities[t-1][1]) + distanceFormula(cities[i][0],cities[i][1],cities[t+1][0],cities[t+1][1]); tempCumulativeDistance2 = distances[t] + distances[t-1] + tempCumulativeDistance; if(newTempCumulativeDistance2 < tempCumulativeDistance2){ temp[0] = cities[i][0]; temp[1] = cities[i][1]; cities[i][0] = cities[t][0]; cities[i][1] = cities[t][1]; cities[t][0] = temp[0]; cities[t][1] = temp[1]; temp[0] = distances[i]; temp[1] = distances[i - 1]; distances[0] = newTempCumulativeDistance; distances[1] = newTempCumulativeDistance2; distances[t] = temp[0]; distances[t+1] = temp[1]; tempCumulativeDistance = distances[i] + distances[i - 1]; } } } console.log(distances.reduce(function(pv, cv) { return pv + cv; }, 0)); </script>
  16. For websites there is w3schools For games there is Handmade Hero. Be warned it is over 1000 hours long.
  17. What would you like to learn?
  18. Only if the phone is under warranty and even then they'll try to tell you it was the apps you installed so they don't bear responsibility to fix it. All the firmware would be available for people like me to fix phones but it isn't. They want people going back to the manufacturer and buying new phones. Apple used to brick people's phones if you replaced a button but they got sued so I imagine they don't do that anymore. https://www.theguardian.com/technology/2016/feb/12/seattle-law-firm-files-first-lawsuit-against-apple-over-iphone-error-53
  19. To be 100% sure your phone is free of viruses you will need to send it back to the manufacturer and get their firmware reinstalled. Phone drivers tend to be device specific so I can't just give you an arbitrary firmware in the hope it will work. Sometimes manufacturer firmware can be found on their website if the phone was very buggy. For instance the Samsung galaxy S8 firmware can be found here https://www.samsung.com/us/support/owners/product/galaxy-s8-unlocked#downloads Note that region is important two phones with the same model number but manufactured for different phone carriers and countries will tend to have different firmware.
  20. Forum software not firmware and yeah I imagine that it could count the number of stars for topics by a user with a specific username with a database query.
  21. fiveworlds

    pc games

    I'm currently playing Warframe
  22. It is working for me now.
  23. Yeah you can they are called network attached storage or NAS plenty of manufacturer's make them including ones with dvd re-write. http://www.lg.com/us/burners-drives/lg-N2R1DD2-network-attached-storage
  24. Yes it is an interesting article another way is to just decrypt the RSA algorithm stored on the computer. Smartphones are only vulnerable to hackers if there is a problem with the software or hardware that allows them to do so. Encryption tends to have little to do with real hacking. You can also tell which version of RSA encryption was used by packet sniffing. Secure Socket Layer SSLv2 Record Layer: Client Hello Length: 103 Handshake Message Type: Client Hello (1) Version: SSL 3.0 (0x0300) Cipher Spec Length: 78 Session ID Length: 0 Challenge Length: 16 Cipher Specs (26 specs) Cipher Spec: SSL2_RC4_128_WITH_MD5 (0x010080) [ more Cipher Specs deleted ] Challenge As you can see from the above they are using ssl version 3 implementing SSL2_RC4_128_WITH_MD5 encryption. That encryption algorithm is on your computer but you can just look it up. The researchers using the microphones only decrypted RSA on a computer that knew the private decryption key. They can't use a computer that doesn't know the private decryption key to decrypt the message in the same way so RSA 4000+ is still a fairly safe encryption to use.
  25. Computer Science is a very broad field it is like saying you work in chemistry or medicine. Generally everybody in computer science is specialised into a particular area. Specializations include: Software Developer Database Administrator Data Warehousing Data Architect Technical Support Scrum Master Network Administrator Network Architect Network Engineer Wireless Network Engineer Network Security Engineer Telecommunications Manager Datacentre Design Computer Hardware Engineer Computer Systems Analyst Business Systems Analyst Web Developer Front End Developer Back End Developer Ecommerce Analyst Dev Ops Computer Security Operating Systems Hypervisors and Virtualisation Broadcasting Pen Tester Project Manager Data Modelling IT Manager Ux/Ui Designer Game Development Environment engineering Building Modelling (CAD etc) etc Most of the higher paid jobs $2,000,000.00+ require a university level qualification in a related field such as computer science, electrical engineering, network engineering etc. Technical support tends not to require a degree but supporting documentation may be required such as evidence you did specific online tutorials etc. Depends on wheter I am working remote or not. Since I work as a freelance consultant at the moment much of my work is remote and highly varied. Generally I do network architecture designing scalable networks for my customers. Often this includes designing the wired telephone systems and email systems for an office, configuring public ip addresses, managing servers, setting up windows networking like you would most likely have in school. Often the client has a specific design or system they would like to have implemented for instance asterisk, opendigitalradio, plesk etc. My current contract involves designing a dab multiplex for the state radio broadcaster. The system was required to generate a 20Kw radio signal minimum and contained in a box that could be mass produced. My brother on the other hand is a software developer works in a factory office full time but can work from home when he is not required in the office which is most of the time. His office runs an agile work environment with perforce for version control and docker for builds. They design enterprise storage solutions for large companies which usually cost $1,000,000 minimum. He has to do all remote work from his work laptop. Generally his work includes being online when the technical support team emails him about an issue a customer is having then he would have to solve the issue and email the technical support team with his solution. He sometimes gets specific projects to work on where he would be working with the international team which would require him to go into the office to have a meeting in the conference call room with people from America, India, China, Ireland etc. I don't see how you would need my name since most high school students don't know what perforce, docker etc are. My brother works for Dell Technologies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.