NotHereToPlayGames
MemberContent Type
Profiles
Forums
Events
Everything posted by NotHereToPlayGames
-
I should add that this wouldn't be the first program I've ran across that doesn't detect .NET "accurately". I've always had better "detection success" with my offline installer (SourceForge? gHacks? I don't recall where I got it) than the official installer from Microsoft. Do we know / can we track down what registry entries or file versions that the Panda installer is hunting for? I don't recall if "Dependency Walker" reveals that. I know that Hex Rays IDA Free will.
- 1,439 replies
-
- Security
- Antimalware
-
(and 3 more)
Tagged with:
-
Admittedly, I totally forgot that x64 versus x86 was our task at the time. My goal was to compare Kaspersky to Panda. I did not witness anything "negative" with Kaspersky (once you comb through the settings and don't just leave them at "default"), but I did find Panda to be the better of the two. (edit: I only spent a few days on it, more testing would need done.) I meant to compare Panda to AVG but I haven't gotten around to that yet.
- 1,439 replies
-
1
-
- Security
- Antimalware
-
(and 3 more)
Tagged with:
-
I hope I didn't mislead you. My daily XP is x64. My three-partition XP laptop for when I was comparing Panda to Kaspersky on XP is x86. Reading your replies regarding Win7 x64 and .NET reminded me that my laptop is x86. Apologies if I sent any rabbits down the wrong hole.
- 1,439 replies
-
- Security
- Antimalware
-
(and 3 more)
Tagged with:
-
Agreed! Same here. Despite (finally) moving to Win10 on a few of my computers (which also enables much more advanced chrome.dll decompile/disassembly tools), my XP remains my true workhorse where a good 80% plus of my tasks are performed. 360Chrome even remains my primary browser on even my Win10 computers! Ungoogled v114 is a very close second.
-
@Jody Thornton and @Cocodile You both present fair and coherent arguments. I'm not "ignoring" that even this browser originally used "favorite" in the context menu being discussed. However, original Chrome v86 does not have this context menu entry, the Chinese added it. This horse is dead and I see no point in discussing further.
-
Does Edge and IE have a "British" version and a "US" version? ie, does the installer know to use favourite if British and favorite in US? I've never seen favourite with a U and it looks like something a 3rd grader would do as an accident to me, like when my brother would draw an S and an R backwards when he was 4yrs old. At any rate, doesn't matter, I'm sticking with "bookmarks" and I have no problem providing an exact how-to for anyone to change it to whatever they prefer it to be. But no, I'm not going to release three versions just for the sake of one word. Look at it this way, are we asking the creator of Supermium to change favorite to favourite? Or does Supermium use bookmark also? And if so, are we asking bookmark to be changed to favourite in Supermium? So why is it such a "hot" issue here if not for Supermium? Or New Moon? Or Serpent?
-
I was able to install on XP three weeks ago or so. I recall aborting the install when it started to download/install .net. I dislike automated installs so literally forced a power-off to prevent it, then installed .net manually with an offline installer. Panda installed fine after I manually installed .net.
- 1,439 replies
-
1
-
- Security
- Antimalware
-
(and 3 more)
Tagged with:
-
emoji test -- Okay, this polyfill works for your milk delivery thumbnails without breaking emojis at MSFN - which could be why I already had this in my arsenal as an "all-in-one" polyfill. // ==UserScript== // @name Inject Change Array by Copy All-in-One Polyfill [110] // @version 0.0.1 // @match *://*/* // @run-at document-start // @grant none // ==/UserScript== ((arrayPrototype, typedArrayPrototype) => { "use strict"; const typedArrayLength = Function.call.bind( Object.getOwnPropertyDescriptor(typedArrayPrototype, "length").get ); function toIntegerOrInfinity(arg) { let n = Number(arg); if (Number.isNaN(n) || n === 0) { return 0; } if (n === Number.POSITIVE_INFINITY) { return Number.POSITIVE_INFINITY; } if (n === Number.NEGATIVE_INFINITY) { return Number.NEGATIVE_INFINITY; } let i = Math.floor(Math.abs(n)); if (n < 0) { i = -i; } return i; } function toObject(val) { if (val === null || val === undefined) { throw new TypeError(`${val} is not an object`); } return Object(val); } function lengthOfArrayLike(arr) { if (!(typeof arr === "object" && arr !== null)) { throw new TypeError(); } let len = toIntegerOrInfinity(arr["length"]); if (!Number.isFinite(len)) { len = 0; } return Math.max(0, Math.min(len, Number.MAX_SAFE_INTEGER)); } /** @typedef {Int8Array|Uint8Array|Uint8ClampedArray|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array|BigInt64Array|BigUint64Array} TypedArray */ /** * @param {unknown} v * @returns {TypedArray} */ function assertTypedArray(v) { typedArrayPrototype.keys.call(v); // @ts-expect-error return v; } /** * @param {TypedArray} arr * @returns {TypedArray[typeof Symbol.toStringTag]} */ function typedArrayNameInternalSlot(arr) { return Object.getOwnPropertyDescriptor(typedArrayPrototype, Symbol.toStringTag) .get.call(arr); } /** * @param {TypedArray} example * @param {number} length * @returns {TypedArray} */ function typedArrayCreate(example, length) { assertTypedArray(example); const arrayName = typedArrayNameInternalSlot(example); switch (arrayName) { case 'Int8Array': return new Int8Array(length); case 'Uint8Array': return new Uint8Array(length); case 'Uint8ClampedArray': return new Uint8ClampedArray(length); case 'Int16Array': return new Int16Array(length); case 'Uint16Array': return new Uint16Array(length); case 'Int32Array': return new Int32Array(length); case 'Uint32Array': return new Uint32Array(length); case 'Float32Array': return new Float32Array(length); case 'Float64Array': return new Float64Array(length); case 'BigInt64Array': return new BigInt64Array(length); case 'BigUint64Array': return new BigUint64Array(length); default: /** @type {never} */ const n = arrayName; throw new Error(`Unexpected TypedArray name ${n}`); } } /** * @param {TypedArray} example * @returns {boolean} */ function isBigIntArray(example) { assertTypedArray(example); const arrayName = typedArrayNameInternalSlot(example); switch (arrayName) { case 'BigInt64Array': case 'BigUint64Array': return true; } return false; } function transfer({ count, src, srcStart, srcStep = 1, target, targetStart, targetStep = srcStep }) { let from = srcStart; let to = targetStart; for (let i = 0; i < count; i++) { target[to] = src[from]; from += srcStep; to += targetStep; } } /** * @param {TypedArray} example * @param {unknown} value * @description convert `value` to bigint or number based on the the type of array * @returns {bigint | number} * @throws if one of the override methods throws. e.g. `@@toPrimitive`, `valueOf`, `toString` */ function typedArrayNumberConversion(example, value) { let asNumber; { if (isBigIntArray(example)) { asNumber = 0n; } else { asNumber = -0; // important to use `-0` and not `0` } // @ts-ignore : using `+=` to emulate ToBigInt or ToNumber asNumber += value; } return asNumber; } defineArrayMethods({ toReversed() { const o = toObject(this); const len = lengthOfArrayLike(o); const a = new Array(len); transfer({ src: o, srcStart: len - 1, srcStep: -1, target: a, targetStart: 0, targetStep: 1, count: len }); return a; }, }); defineTypedArrayMethods({ toReversed() { const o = assertTypedArray(this); const len = typedArrayLength(o); const a = typedArrayCreate(o, len); transfer({ src: o, srcStart: len - 1, srcStep: -1, target: a, targetStart: 0, targetStep: 1, count: len }); return a; }, }); defineArrayMethods({ toSorted(compareFn) { if (compareFn !== void 0 && typeof compareFn !== "function") { throw new TypeError(); } const o = toObject(this); const len = lengthOfArrayLike(o); const a = new Array(len);; transfer({ src: o, srcStart: 0, target: a, targetStart: 0, count: len }); arrayPrototype.sort.call(a, compareFn); return a; }, }); defineTypedArrayMethods({ toSorted(compareFn) { if (compareFn !== void 0 && typeof compareFn !== "function") { throw new TypeError(); } const o = assertTypedArray(this); const len = typedArrayLength(o); const a = typedArrayCreate(o, len); transfer({ src: o, srcStart: 0, target: a, targetStart: 0, count: len }); typedArrayPrototype.sort.call(a, compareFn); return a; }, }); function calculateSplice({ start, len, deleteCount, values, argsCount }) { const relativeStart = toIntegerOrInfinity(start); let actualStart; if (relativeStart === -Infinity) { actualStart = 0; } else if (relativeStart < 0) { actualStart = Math.max(len + relativeStart, 0); } else { actualStart = Math.min(relativeStart, len); } const insertCount = values.length; let actualDeleteCount; if (/* start is not present */ argsCount === 0) { actualDeleteCount = 0; } else if (/* deleteCount is not present */ argsCount === 1) { actualDeleteCount = len - actualStart; } else { const dc = toIntegerOrInfinity(deleteCount); actualDeleteCount = Math.max(0, Math.min(dc, len - actualStart)); } const newLen = len + insertCount - actualDeleteCount; return { actualStart, newLen, actualDeleteCount }; } function doSplice({ src, target, actualStart, actualDeleteCount, values, newLen }) { let i = 0; while (i < actualStart) { target = src; i++; } for (const E of values) { target = E; i++; } let r = actualStart + actualDeleteCount; while (i < newLen) { let fromValue = src[r]; target = fromValue; i++; r++; } } defineArrayMethods({ toSpliced(start, deleteCount, ...values) { const o = toObject(this); const len = lengthOfArrayLike(o); const { actualStart, actualDeleteCount, newLen } = calculateSplice({ start, deleteCount, len, values, argsCount: arguments.length }); if (newLen > Number.MAX_SAFE_INTEGER) { throw new TypeError(); } const a = new Array(newLen); doSplice({ src: o, target: a, actualStart, actualDeleteCount, values, newLen }); return a; } }); defineArrayMethods({ with(index, value) { const o = toObject(this); const len = lengthOfArrayLike(o); const relativeIndex = toIntegerOrInfinity(index); const actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; if (actualIndex < 0 || actualIndex >= len) { throw new RangeError(); } const a = new Array(len); for (let k = 0; k < len; k++) { const v = k === actualIndex ? value : o[k]; a[k] = v; } return a; } }); defineTypedArrayMethods({ with(index, value) { const o = assertTypedArray(this); const len = typedArrayLength(o); const relativeIndex = toIntegerOrInfinity(index); const actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; const asNumber = typedArrayNumberConversion(o, value); if (actualIndex < 0 || actualIndex >= len) { throw new RangeError(); } const a = typedArrayCreate(o, len); for (let k = 0; k < len; k++) { const v = k === actualIndex ? asNumber : o[k]; a[k] = v; } return a; } }); /** @type {(def: { [N in "with" | "toReversed" | "toSorted" | "toSpliced"]?: typeof Array.prototype[N] }) => void} */ function defineArrayMethods(def) { defineMethods(arrayPrototype, def).forEach(name => { if (name !== 'with') { // 'with' is already a keyword arrayPrototype[Symbol.unscopables][name] = true; } }); } /** @type {(def: { [N in "with" | "toReversed" | "toSorted"]?: (this: TypedArray, ...args: Parameters<Uint8Array[N]>) => TypedArray }) => void} */ function defineTypedArrayMethods(def) { defineMethods(typedArrayPrototype, def); } function defineMethods(obj, def) { return Object.entries(def).map(([name, method]) => { Object.defineProperty(obj, name, { value: method, enumerable: false, configurable: true, writable: true, }); return name; }); } })(Array.prototype, Object.getPrototypeOf(Int8Array.prototype));
-
Interesting. I don't enable any of my polyfills by default. I only have them because of issue web sites posted here at MSFN - I've actually never encountered the need for any of them on my frequently visited web sites. If you find the need for any of them on your frequently visited web site(s), just edit the // @match *://*/* line to match your specific web site(s).
-
Good Portable Browser for a Windows 7 Notebook
NotHereToPlayGames replied to Monroe's topic in Windows 7
Agreed. -
Good Portable Browser for a Windows 7 Notebook
NotHereToPlayGames replied to Monroe's topic in Windows 7
Debatable. But opinions are like butts. We all have one, doesn't mean we want to hear them. -
I'll be continuing to use "bookmarks" as I have in the past. As Dave-H mentioned, it is much more standard. Edge and IE are the only browsers that still use "favorites" instead of "bookmarks". I could list a hundred browsers that all use the word "bookmarks" instead of "favorites". I'd have to also list versions, of course, but give me time and I bet I can come up with a hundred. That probably sounds like I'm exaggerating, but I kind of don't think it is. I don't have the time to list them at the moment as I do have a career to maintain. edit: kind of does make me curious, what year/version did Mozilla switch from "favorite" to "bookmark"? what year/version did Chrome switch from "favorite" to "bookmark"? what year/version did Opera switch from "favorite" to "bookmark"? i kind of suspect that "all" browsers used "favorite" back in the day, hmmm...
-
If anyone wants the "error codes" page restored, please provide a screencap of when any errors were encountered with the errorpage.zip that another member submitted. All I am seeing is a sh!tlo@d of www. so. com, www. dd. browser. 360. cn, and browser. 360. cn chinese telemetry crap and ZERO "value-add". But maybe I just don't know "how" to FIND any of the errors that some want an "error code page" for ???
-
The first post in that thread will have a download link once I get it all put together. I was originally targeting this weekend but it may end up being next weekend instead. As far as "primary differences", they're all minor and there has been no "significant" advancements with 360Chrome in over two years. It's v86. Nothing more. Still the best there is for XP but users of newer OSs have more "modern" alternatives to choose from. That said, I actually prefer v86 over everything "newer" and it does EVERYTHING that I actually throw at it. It's not going to do "everything" - but nor does its XP competitors.
-
From what I am finding, uBOs "badge" is cut off on the bottom and right on even the 13.0 look. Also cut off on Ungoogled Chromium latest-and-greatest on Win10. For now, I'm keeping the XP skin "as-is", the badge cut-off issue is being cut off in over a dozen different skins tried from the 360Chrome's skin page and even Official Ungoogled Chromium does this cut off.
-
The first-launch ONLY after each and every reboot or resume from hibernate "can't" be a browser issue. *EVERY* browser that I use on *ANY* of the seven computers *ALL* do this first-launch delay. I don't really have a good debug method for this issue, but none of the seven computers have the same video cards. Serpent 52, NM27, NM28, 360Chrome, Ungoogled Chromium - they *ALL* have this first-launch delay, each and every one of them. edit - it would be nice to know why **ALL** browsers on **ALL** of my computers have this first-launch only delay, but since **ALL** browsers do this on my computers, it's perhaps "off-topic" for this thread. edit2 - perhaps I should also point out that **ALL** of my browsers are *portable*, none of my computers are set up with a "default" web browser and none of them use "installed" browser versions.