Domain: stackoverflow.com
Stories and comments across the archive that link to stackoverflow.com.
Comments · 921
-
Re:Rust
* memory management is explicit [merriam-webster.com] -- what does this mean?
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
Automatic vs. Explicit Memory Management: Settling the debate* deterministic [merriam-webster.com] -- what does this mean?
I thought it was self evident. Here is a discussion of the matter.
* endemic [merriam-webster.com] use of a garbage collector... -- what does this mean?
Pervasive would be a better word. Languages that make garbage collected allocations for most or all things. For example in Java, aside from primitives, all allocations conceptually occur on the a garbage collected heap.
reference-counted heap objects
Reference counting: counting the number of references to an object.
Heap: an arena of memory maintained by a memory allocator. Also CPUs typically have no knowledge of how software manages heaps. You may be thinking of virtual memory
Objects: object in the generic sense of some amount of memory managed on a heap. These lecture notes show the same usage. The editors of this page also use the word 'object' in exactly the same manner when discussing pointers. It's not that hard to follow.Putting it together we have objects on a heap for which reference counts are maintained; reference-counted heap objects.
"exchange" heap -- what does this mean?
* "local" heap -- what does this mean?The link I provide to Patrick Walton's blog would get you there. Also, there is documentation, Sorry if discussing a new programming language involves terms you haven't heard. Computing can be like that sometimes.
(note: there is only one "heap" on most CPU architectures, so now we have added abstraction)
Now you are definitely confusing heaps and virtual memory. There are usually many, possibly thousands of heaps on a system at any given time with many distinct implementations of which the CPU is entirely ignorant. Memory allocators and virtual memory are different things.
* via an "owned" pointer -- what does this mean?
Similar to a C++ auto_ptr or unique_ptr. Again, the link I provided would get you there.
* wild pointers -- what does this mean?
Dangling pointer and wild pointer are synonomous.
Use of the exchange heap is exceptional and explicit yet immediately available when necessary -- what does this mean?
I provided a link directly to a discussion of this.
Memory "management" is reduced to efficient stack pointer manipulation -- uhh, what? the language sits around modifying content at %esp and %ebp along with some offsets? sounds far from efficient)
Incrementing a decrementing stack pointer registers is very efficient. Offsets are computed at compile time and the instructions typically require one CPU cycle and no memory access, given a naive model of a CPU. These techniques are a ancient and ubiquitous. Sorry you weren't familiar with them.
or simple, deterministic destruction -- what does this mean?
-
Re:That's just not a viable option.
I think the problem is that all the freakin Javascript has to be loaded and processed (Javascript JIT??). I maintain that Javascript should only be used when implementing AJAX calls or fancy user interfaces. When you are building applications that do a lot on the client side you are loading a bunch of stuff and Javascript as a system was not designed for that. I call abuse. As a developer web applications appeal to me because of their ease of deployment and easy access, but compared to building rich desktop clients the development process and paradigms suck--a real pain for seemingly simple things. Enhanced data tables are one thing which require a library to implement--as they must be on the client side--and I wouldn't claim these as simple. That's just one thing in a handful that crop up in developing a decent web application that can replace those that are desktop/rich client based. If you want to target all devices you face a list of compromises in order to tone down impact on the mobile devices. It would be nice if the Javascript could be compiled and cached.
http://stackoverflow.com/questions/7807235/javascript-just-in-time-compilation
I think V8 solves a lot of these problems.
https://developers.google.com/v8/design
-
Re:Well that explains why the killed google Reader
Wrong. Since I follow the situation closely, let me explain.
The HTML5 Web Notifications API is in Chrome since forever under webKitNotifications.
The first draft spec of Notifications API included both icon-and-text simplistic notifications, and HTML notifications which were in fact just tiny windows that popped up.
Chrome implemented both, extension authors happily started using it.Next, W3C drops HTML notifications from the draft. Chrome then drops it from the web context, but keeps it for extensions: they didn't want to suddenly break legacy apps, I guess. They didn't even mark it as deprecated until not long ago.
Fast forward a few releases. Chrome wants its own notifications center, and drafts a new Rich Notifications API. Long experimental, this finally hit Stable.
However.. Despite being touted as a replacement for HTML notifications, those don't come even close to customization possibilities of an arbitrary HTML page, with its own code running. And Google decided to make a hard switch: a browser version has either Rich or HTML notifications enabled. So, if the feature hit you, your old notifications keel over and die immediately.
But that's not the worst problem here. The worst problem is sudden fragmentation. Windows and Chrome OS have the new Rich notifications and do not have HTML ones anymore. OS X and Linux do not have Rich notifications but support HTML ones. See the problem? And despite saying that it will come to other platforms "soon" this isn't in Beta yet for sure, and possibly not even in the Dev branch, but don't quote me on that. So to even maintain both systems I now need two OSes.
-
ECMAScript is the M-expression realized
BTW, there are numerous alternative syntaxes [for Lisp-like languages] around, but none of them was ever successful
Not even JavaScript?
-
Re:Looking forward to 1st August
Quoting Andy Fadden, an Android systems engineer, from his recent StackOverflow answer on this subject:
The assumption is that, if an attacker is able to replace a
.odex file, they have sufficient permission to do any number of other things.yeah.. if it really needs local root.. then
.. what the fucking kind of exploit is that ? -
Re:Looking forward to 1st AugustQuoting Andy Fadden, an Android systems engineer, from his recent StackOverflow answer on this subject:
The assumption is that, if an attacker is able to replace a
.odex file, they have sufficient permission to do any number of other things. -
C++/CLI and IronPython fail in .NET CF
XNA (which can be used by any
.NET language, not just C#)All
.NET languages work in XNA on Windows, but not all .NET languages work in XNA on Xbox 360 because XNA on Xbox 360 uses a subset of called the .NET Compact Framework. According to this answer, the .NET Compact Framework lacks the libraries needed to run C++/CLI, and it also lacks the Reflection.Emit library needed to run DLR languages such as IronPython. Besides, any non-trivial C++ program ported from another platform will end up using unsafe features because the syntax for standard C++ differs from the syntax for the safe subset of C++/CLI (Wikipedia; MSDN), and XNA on Xbox 360 will not load an assembly that uses unsafe features. -
Re: Citation Needed
In the grand scheme, Node and Mongo are still quite new; for the most part, ace JavaScript developers who can write brilliant code on both sides of the request transaction have yet to emerge, but if and when they do, the things they build could be jaw-dropping.
Can any real developer explain why having a javascript backend would be any different to any other backend in such a way where something jaw-dropping could only be the result of the javascript backend?
Not so much the Javascript backend; but the fact that node.js is highly scalable, as well as event-based and non-blocking IO features.
-
Re:Meh
Your example clearly shows, you don't know what a nested function is
:) Your example is a closure, and as you named it and obviously want to reuse it, it MIMICS a nested function, but is not. Main difference: a nested function is static compiled. Your square is dynamic assigned at runtime. I'm not sure about Scala, but I believe it has no nested functions either, only closures.There's a lot that's wrong here, so I'll just go point by point.
1.) This is not a closure, it's an anonymous function, which is analogous to a nested function. I purposefully coded it that way to avoid the confusion, though a closure is still a nested function, just of a specific variety. In C#, all closures are anonymous methods, but the reverse is not true. From the article:The term closure is often mistakenly used to mean anonymous function. This is probably because many programmers learn about both concepts at the same time, in the form of small helper functions that are anonymous closures. An anonymous function is a function without a name, while a closure is a function instance whose non-local variables have been bound either to values or to storage locations (depending on the language; see the lexical environment section below). An anonymous function may or may not be a closure, and a closure may or may not be anonymous.
2.) Anonymous methods (including closures) in C# are compiled as separate static methods (closures are handled as a new type instead, but are still compiled). See here. You can structure something to be compiled at runtime, but that is a different issue.
3.) The time at which a nested function is compiled has no bearing on whether or not it is a function. If that was the case, then you would have to claim that all nested functions in interpreted languages are not "true" nested functions. And since a nested function is just a function inside another function, you would then have to claim that interpreted languages do not support functions.
So I suggest you do your research next time before you run your mouth. -
Stop bashing JavaScript - and stop evangelising it
Briefly, I work at a company that produces your stereotypical "web app": a minimal index.html which pulls everything in via JavaScript. We deploy to ~12,000 physically separate production environments every few months. Prior to my current gig, I helped build Node.js daemons / WebSocket functionality in a FTSE 100 company on a site that receives so many millions of hits per-day I can't remember the numbers. TL;DR I'm not just sitting in my bedroom writing Node.js "Hello World!" apps.
All the arguments I've read above have some serious issues:
JavaScript is a shit language: Fuck off.
JavaScript is not strongly-typed: Since when did strongly-typed languages become "better"?
JavaScript is insecure: You're doing it wrong.
Node.js is single-threaded: OK, were you planning on serving clients with a single server instance/process?
A single language client- and server-side offers little to no benefits: Yeah, you're right. Why would I want to a single test suite for my client- and server-side code? Why would I want to (securely) share model definitions between the client- and server-side? Why would I want to optimise one code-base instead of two? Why would I want to debug one language instead of two?
MongoDB is for people who can't/won't learn SQL/the relational model: I'll admit that SQL is not my area of expertise, but my naive understanding is this: in SQL databases, you normalise your data by default until you hit performance issues. In NoSQL databases, you denormalise it by default. The decision on which one to use should depend entirely on the data you want to store.
I could go on, but I'm tired of dissecting your attempts at a debate. For a damn good overview, see this StackOverflow discussion.
Lastly, has anybody considered why JavaScript is becoming a "lingua franca"? Every language since assembly languages has focussed on abstracting stuff away from the programmer when it isn't necessary. When I'm writing a web app, I don't give two hoots whether how big your address space is, what network interface you're using, how big your monitor is, or anything else below the level of the browser. I care about drawing stuff on the screen with minimal effort.
Different problems require different solutions. In some cases, JavaScript all the way through might be a good fit. Most of the time, it won't be.
-
Re:Lets just go all the way here for a bit...
Python is a strongly typed, but not statically typed language. This is a common misconception that I see in almost every discussion on the merits of python vs more traditional, compiled languages.
Here is a linkie that explains it rather simply, in case you want to research it further.
Btw, javascript is not strongly typed. -
Re:Stop it.
C has "goto" which should be almost never used. Just saw "NO".
Show me a cleaner way without goto to handle cleanup in case a function fails without having to switch from C to C++ and include the C++ exception handling library.
-
Re:Guilty pleasures
There are a lot of very real technical reasons why people don't like PHP. The syntax and naming of its function library is inconsistent, the type coercion is irregular, and it's inconsistent about warnings vs. errors—it tends to keep executing code even when it shouldn't, potentially leading to unwanted behaviour during development if a variable isn't set or something. Reddit has a fairly active board devoted to the various problems that can occur, not all of them avoidable.
One of the most peculiar details in all of this is that PHP's original author (and, I think, but don't quote me on this, a portion of the development staff) considers himself a non-programmer; that PHP was just thrown together to simplify work. That would be okay, but it's led to a lot of security holes, bugs, and irreversible bad choices over the years, like having to use === in string parsing because false is returned by strpos() if it doesn't find anything (and false == 0). No other language requires this particular quirk.
I don't blame you for not liking Ruby. While it's a much cleaner language, it's got some very peculiar syntactical features that make a lot of people scratch their heads—most notably, there are circumstances under which return doesn't work normally, which can be very frustrating. However, there are some very creative uses of familiar syntax that, for example, make strings really easy to work with; haystack['needle'] = 'thread' is the same as $haystack = str_replace('needle', 'thread', $haystack) in PHP. I haven't used it personally, but I think the major reason Ruby projects get abandoned so much is because the people writing code in it are not experienced programmers.
Running down the list a little and hopping over JVM stuff, the other decent web languages you may want to consider are Perl and Python. Both have extremely well-developed libraries and are good with strings, so it's mostly just a question of picking "esoteric and terse" vs. "newbie-friendly and easily maintained." Decent JVM languages include JWT, Scala, and Clojure (with noir; check out that sexy beast), although JWT is probably overkill for anything smaller than Gmail.
-
g++ != easy stuff
Stallman wants primary recognition, for having done all the EASY stuff!
So you think Emacs, g++, and glibc are "easy stuff"? Kernel may be hard, but templates in C++ are undecidable .
-
Stackoverflow, CodingHorror
-
Re:Gosh!!!
>
If there is an option to get at the un-minified stuff, I'd be astonished if you heard another word on the matter from the FSF about the use of the minified form for the sake of bandwidth use and efficiency.
You realize a bunch of tools already exist to un-minify javascript, yes?
-
StackOverflow vs Programmers
I really dislike StackOverflow now because very useful questions are discouraged, simply because they are open ended.
The place for open ended question is not SO.
How to choose between SO and Programmers - http://meta.stackoverflow.com/questions/82988/choosing-between-stack-overflow-and-programmers-stack-exchange
If it is related to coding, it should be on Stack Overflow.
If it's related to higher level programming concepts or is conceptual (but still related to programming), it should be on Programmers.
Rule of thumb: if you're sitting in front of your IDE, ask it on Stack Overflow. If you're standing in front of a whiteboard, ask it on Programmers.
-
Re:Tool to condense forum posts into a wiki?
The stackexchange point was a good one, so I asked the question there:
Feel free to answer it.
-
Re:In theory, theory and practice are the same...
Apparently that is the C# decimal datatype class.
And it is 1/27th the speed of a double, this kind of thing is pretty normal in the .NET world - make a complicated class and use it where you'd normally use a primitive type and don't worry about speed or memory usage.But then, us old timers wouldn't bother with such a way of doing things where performance is necessary (I'd except every time when using a decimal class), no we'd do something like this. 27 times slower... progress
:-( -
Disqus is the problem
There is one very large product that relies on 3rd-party cookies: Disqus. It is used by a lot of popular sites such as Thingiverse and StackOverflow. Disqus simply needs to fix the problem. There is actually a discussion on StackOverflow about this: http://meta.stackoverflow.com/questions/126764/why-does-registration-require-third-party-cookies-to-be-enabled
The last time I looked at it it claimed the problem was fixed, but I just now tried to register and it says this:
Third Party Cookies Appear To Be Disabled
This site depends on third-party cookies, please add an exception for https://openid.stackexchange.com/. -
Re:Confused
Sorry, the above stackoverflow link wanted to be this:
http://stackoverflow.com/questions/124332/c-handling-very-large-integers
-
Re:Confused
I mainly program in Java, so my natural reaction was using BigInteger. I'm pretty sure someone already made something like that for C++ too
-
Re:Good
"Dunno if there's a way to specify that inside Xcode or not, but for our app we use a build script that includes some code like the following. The code uses Apple's install_name_tool utility to modify the application so that instead of pointing to
/usr/lib/libsndfile.so, it points to a libsndfile.so path that is in the application's package instead.Note this is just a cut-down script excerpt to give you an idea; it will probably require some tweaking before it works for you (and of course you'll need to modify it to operate on other libraries besides libsndfile if that is what you want):"
#!/bin/bash -e
BINARY="MyAppFolder/MyAppName"
FRAMEW_FOLDER="MyAppFolder/MyAppName/Contents/Frameworks/"
function DoInstallNameTool {
xLIB="$1"
xLIB_NAME="$2"
xBINARY="$3"
echo install_name_tool -change \"${xLIB}\" \"@executable_path/../Frameworks/${xLIB_NAME}\" \"${xBINARY}\"
install_name_tool -change ${xLIB} "@executable_path/../Frameworks/${xLIB_NAME}" "${xBINARY}"
}
for LIB in $(otool -L "${BINARY}"|grep libsndfile|cut -d '(' -f -1)
do
echo "Handling Lib: $LIB"
LIB_NAME=$(basename "$LIB")
echo " Adding ${LIB_NAME}"
cp -Rf "${LIBSNDFILE_DIR}/src/.libs/${LIB_NAME}" "${FRAMEW_FOLDER}"
DoInstallNameTool "$LIB" "$LIB_NAME" "$BINARY"
donehttp://stackoverflow.com/questions/7470637/dynamic-library-in-application-bundle-mac-os-x
-
Stackoverflow
Another good technique is to search Stackoverflow for questions about the project you are considering. Look at both the number of questions asked and the quality of the answers. Especially look for questions like "Should I be using XYZ?" and "XYZ vs {Alternative to XYZ}".
Stackoverflow is moderated somewhat like Slashdot, so the best answers will usually bubble to the top.
-
Re:I used to write programs in PL1/PLC on punch ca
It did originally.
The reason COBOL required indention originally (and the reason it generally no longer does) is because it was necessary for punch cards. The indention moved the holes to where the card parser could identify codes correctly.
-
Re:I'm not a computer scientist, and...
If one woman can have a baby in 9 months, then 9 women can have a baby in one month, right?
No.
Not every task can be run in parallel.
Now however if your data is _independent_ then you can distribute the work out to each core. Let's say you want to search 2000 objects for some matching value. On a 8-core CPU you would need 2000/8 = 250 searches. On the Titan each core could process 1 object.
There are also latency vs bandwidth issues, meaning it takes time to transfer the data from RAM to the GPU, process, and transfer the results back, but if the GPU's processing time is vastly less then the CPU, you can still have HUGE wins.
There are also SIMD / MIMD paradigms which I won't get into, but basically in layman's terms means the SIMD is able to process more data in the same amount of time.
You may be interested in reading:
http://perilsofparallel.blogspot.com/2008/09/larrabee-vs-nvidia-mimd-vs-simd.html
http://stackoverflow.com/questions/7091958/cpu-vs-gpu-when-cpu-is-betterWhen your problem domain & data are able to be run in parallel then GPU's totally kick a CPU's in terms of processing power AND in price. i.e.
An i7 3770K costs around $330. Price/Core is $330/8 = $41.25/core
A GTX Titan costs around $1000. Price/Core is $1000/2688 = $0.37/coreRemember computing is about 2 extremes:
Slow & Flexible < - - - > Fast & Rigid
CPU (flexible) vs GPU (rigid)* http://www.newegg.com/Product/Product.aspx?Item=N82E16819116501
* http://www.newegg.com/Product/Product.aspx?Item=N82E16814130897 -
Re:Thank you, Apple!
So no Apple's OpenCL compiler is not open source.
-
What replacement for WebGL?
Would you target WebGL and then do the old 90's "Best viewed in FireFox for Android?"
"Best viewed in" is bad practice. Quoting the box at the lower left of the page linked at the end of your previous comment: "Always use feature detection." If the WebGL feature is not detected, the application would display "This web application requires a web browser that supports WebGL." The words "a web browser that supports WebGL" would link to a list of web browsers that support WebGL either in a release version or in a beta version. The list would have sections for all platforms, with the platform matching the user agent at the top. For example, the Android section would list Firefox for Android and Chrome Beta for Android. For iOS it would say "Apple has chosen not to make WebGL available for your device. Please try this application using a desktop or laptop computer."
If such an error message is not acceptable, what API do you recommend using instead of WebGL? Should a web application that presents a 3D view have an alternate 3D engine that runs on top of 2D Canvas and just accepts the stitching bug as collateral damage? Or is the concept of "a web application that presents a 3D view" itself unacceptable for some reason?
-
Re:not a complete success
Obligatory link here.
That is _so cool_... stupid, but cool (I like stupid and cool... like duffs device or self replicating code, stupid, but fun)... how can a guy called b4dc0d3r not like code that bad !?!
:D -
Re:not a complete success
The actual advantage of Java lies mainly --there are other advantages of course-- in the JiT compiler. This allows for run-time optimization that isn't possible at compile time. Which makes Java fast(er) in certain situations (and slow(er) in others). Here's an extensive stackoverflow discussion covering the topic.
Another great thing about Java is that you have a type-safe language (although you can break it in some cases -- particularly certain casts). This also makes it much easier to write secure code in Java through the use of software verification. For more on that, refer to this page on JML (Java Modelling Language) or OpenJML. Microsoft (as well as many others) has done a lot on the C/C++ side of verification (see also this discussion).
-
Re:not a complete success
When Java first took off, and the web was made of Java content executed via plugin, Java was written by idiots who concatenated strings instead of using string builders, and similar abuses of common sense through ignorance and teaching materials that focused on results rather than good practice. Executables outside of plugins suffered the same deficiencies, although they were probably attempting loftier goals, and the performance was... what is the opposite of magnified, because it was slower than a sloth taking a crap?
This lasted a number of years, even as the Java interpreter became stable and work was made to increase its performance. Idiot coders learned or abandoned Java, and the runtime made even the remaining idiots look better, if not "good".
If you don't find this comment amusing, you either lack historical perspective, are a Java programmer, or should consult a medical professional to be diagnosed for your deficiency in some manner or other.
Security problems these days seem to be focused on the browser plugin, rather than locally executing native apps, so the security comments mostly don't apply. Visiting a random internet web page and allowing it to execute poorly sand-boxed arbitrary code is a bit like licking random strangers' genitals. In case that interests you, let me state that it should not be done as a general practice, and you should consult a medical professional.
I have read Java for over a decade, and I have coded in Java for 3 years or so. Having experience with x86 ASM (AT&T and MASM), K&R C, ANSI C, GWBasic, Turbo Pascal, C++ (VC 5-2010, gcc 2.x - 3.x, mingw), VB 5-6, C#, VB.NET, Python, Powershell, JavaScript (advanced, not your normal getElementById().Blink() shit) and several other introductions, I can say this:
Java examples in the real world and in most printed books are the most incestuous, groupthink-y, overly-architected piles of verbosity I have ever had the displeasure to read. I completely understand the need for default parameters, dependency injection, constructor and method chaining, and all kinds of modern best practice.
But I have never seen another language embrace the overbearance of best practice teachings without implementing some balance of solution soundness. Java examples and implementations (open source of course, because I have read them) seem to abound with overloaded methods under 5 lines of code, which initialize another parameter to call another overload. Now you have multiple functions to unit test, multiple code paths, multiple exception sources, and unless you are brainwashed in the spirit of Java, comprehension of the complete workings are complicated by scrolling off-screen with essentially purpose-free function declarations, whitespace between functions, and an essentially functional programming paradigm split over several different methods to give the appearance of flexibility, OOP, and conscious design.
It reads to me like someone wrote that no method should ever take more than one additional parameter that you were not already given, and coherence be damned. I would much rather see a single method with 5 non-optional parameters than 5 overloads which calculate and pass one new parameter each time.
The Java paradigm seems to be calculating things within the overloaded methods is preferable to factoring out these into unrelated functions. In a truly sane, OOP world, those calculations would be a part of the object, or if sufficiently general would be part of the object's base object.
In fact, the Java approach seems to be the Builder design pattern, which I have not seen adopted as frequently as it should be. Obligatory link here.
As sensible as the Builder pattern seems to be, I think it would still require a number of extra Set/Get property methods, which are function calls. Maybe Java has optimized this, but if you don't adopt it optimization can't he
-
Re:Not that surprising
I just use % for e.g. matching parentheses, but see e.g.:
http://stackoverflow.com/questions/896145/more-efficient-movements-editing-python-files-in-vim
-
Re:Maybe it was just my youth but...
For the kids out there:
http://stackoverflow.com/questions/143374/call-151-what-did-it-do-on-the-apple
-
Re:Chrome user agent
As long as they don't create a dash blink prefix for newish features like borders. I don't want see yet another set type of dash prefix akin to -border-radius / -webkit-border-radius / -moz-border-radius battle.
Duplicating code just so I can specify a single value due to semantics is silly. -
Re:Will Blink let us blink text?
-
Re:Realtime voice encryption apps?
I don't think you've tried Android then. My girlfriend wrote an app that looks for "emergency" and "help" in an incoming text. Then it takes the phone off silent and maxes the volume. Took her two weekends and it's the first thing she's ever written in java. Give it a shot : )
Here's a good link from googling "android intercept text": http://stackoverflow.com/questions/6979540/how-can-i-intercept-an-incoming-sms-with-a-specific-text
-
It's also fine if you have an iPhone
A lot of people especially in the Americas and western Europe carry an iPhone, for which development of accessory hardware is far more expensive.
Only if you plan to sell it. If it's for personal development, just jailbreak the phone and connect to the serial port pins of the dock connector as per this SO post.
Obviously anyone looking to build custom hardware can handle the simple task required to hook up to it.
Optionally of course, you can do anything you like with Bluetooth LE without any licensing from Apple - and commercial apps are allowed to do BTLE communications in the background because of the low power consumption. That's what I would start with as an approach unless you need more bandwidth for some reason.
-
Re:Parsing user agent strings = bad.
The fact that some people have been doing this has led to the very convoluted user agent strings we see today, rather than a simple description of the browser / rendering engine and version.
Completely agreed. The mangled UA strings we have today (in all browsers) are basically the result of a fifteen year arms race against poor quality sites doing UA sniffing.
The whole thing is basically a reaction to the kind of code described here: browser-version-checker-malfunctions-for-versions-under-or-equal-to-ie8
-
Re:We need data, not algorithms
No, sorry, please try again.
You've got a lot to go through before even knowing you're wrong.Machine learning is a subset of artificial intelligence. We have obtained both AI and ML solutions for certain problems. High fives all around. We have yet to achieve "strong AI", and you have to get into a philosophy debate to define just what the hell that means. There is no point where ML stop and AI begins. Unsupervised ML has been in use for quite a while.
I'm disappointed in the mysticism surrounding AI because the pseudo-intellectuals of the industrial revolution think gears will lead to sprockets that will land us on the moon. That's a metaphor. I'm actually talking about you.
-
Partial Key Verification is your answer.
I found this answer on SO a couple years ago and flagged it as a favorite because I figured I might need it some day.
The short version is a lot like what people have already said, have cracked keys be detectable and then decide from there what to do.
This guy decided to redirect the users to a website to inform them that they're using a cracked key and that they should really purchase the software.
His studies seem to indicate that it works well.
-
Adding Date/Time
Standards for Date/Time are one thing, I've had a lot of trouble trying to standardize on adding Dates. What's August 31st + 1 Month?
-
Re:Microsoft docsVery **VERY** frequently the biggest problems I see on MSDN isn't finding the documentation. It's finding completely inadequate or incorrect documentation
Example: DefaultOverLoadAttribute -- "Indicates that a method is the default overload method" Wow, that's informative! And of course they don't give ANY links as to what the purpose of including this was, or saying when to use it
I commonly will have questions on Stackoverflow asking for help understanding what the hell MSDN is trying to say. For instance this question It's a question asking "MSDN says this, but I see this. Why?" with the answer boiling down to "MSDN is very misleading"
Or there is crap like DependencyProperty.RegisterAttached "here's a hint at what this does..." oh, btw, there's a magic naming convention we're not going to explain at all HAR HAR HAR
-
Re:Hello, its the 21st century
Go to careers.stackoverflow.com and tick the "only telecommute jobs" box. I was doing an 80% remote team lead/developer job for the last few year that paid a fair bit more than $16/hour. I switched to consulting and I have clients I've never met in person who are happy to pay over $100/hour for someone who'll keep them in the loop and get things done.
-
Re:Management panic in action...
The result is that the most effective communication happens in person. Period.
People keep on making this mistake here.
The most effective communication FOR YOU happens in person. Communication is a skill, and one you're refusing to learn.
You are a manager. It is your job to communicate. If you are having trouble communicating with some of your employees, it is your job to figure out how to communicate with them. If you are so bad at communicating with remote workers that you are required to bring them in house full-time just to do your job, that is a failure on your part.
And that's okay, really - since you're the manager, you do have the latitude to make other people's lives worse in order to cover for your personal failings. It's part of the great power that comes with being in charge of people. It's just not the sort of thing you should be expounding as some sort of immutable "the way things are", since there's plenty of companies out there who manage it.
-
Re:At you desk!
Nobody talked to each other, requirements were mis-interpreted, and every little thing had to be documented because nobody was in the room when changes were made. Decisions (code and business) that could have been made over a 15 minute conversation instead took days of E-mail chains.
It sounds like your office had a severe communication issue, which you resolved by getting people to talk to each other.
There's ways to do that which don't rely on putting everyone in the same room. Yes, they require more discipline, but it's worked great for other companies - for instance, here's a StackOverflow blog post about it.
-
Re:Is this a serious OS?
Yeap, turbo pascal overlays on a 8086 with 640K.
Overlays basically allowed you to swap part of your running executable out manually from within your program.
http://stackoverflow.com/questions/10155003/how-did-turbo-pascal-overlays-work
-
Re:COM Automation
(different AC)
Not that it's much better, but you could call javascript code from VBA. It would help you port future code to node.js and start moving things to a server. I would only do that for Excel 2003 or earlier. It'd be crazy if jQuery ajax calls can be made from VBA.
Starting with 2007, C# can be used for vsto plugins that add tabs and controls to that ribbon.
-
Re:Javascript?? Please, NO!
Actually, Javascript has more in common with Scheme than Java.
"Java and Javascript are similar like Car and Carpet are similar."
-
Redesign the progress indicator
Actually, this has been done. The most useful progress indicators do the following:
1) Show overall progress
2) Show progress of subprocess
3) Have some type of message display that actually tells us what is happening (in fact having this may be more usefull than showing progress of the subprocesses).Here are some examples of great progress indicators (granted, not all are installers, but they are informative):
http://doc.zarafa.com/7.0/Migration_Manual/en-US/html/images/MGR_Progress.png
http://www.codeproject.com/KB/files/Copy_files_with_Progress/copyfiles.jpg
http://openchrom.files.wordpress.com/2011/09/openchrom-installer-unpack.jpg?w=640
The last one I want to show is actually from a game I like, and I was having a ton of issues trying to find a screenshot of the progress indicator, so instead, I found a Youtube video. The installer is about 5 minutes in - when you first launch the game, you have a progress indicator, but, its a little dark in this video, in the upper left hand corner, you can see how many files there are, what file it is on, if its downloading or installing, etc. Probably one of the most helpful progress indicators I have ever seen:
-
Re:Did not run their own software.
When folks don't use their own products it's because the product is shit. Do you think Microsoft compiles Windows with Visual Studio?
Firstly, regardless of what I think of Windows, I actually believe they do use Visual Studio, see the discussion here:
http://stackoverflow.com/questions/7381392/compiler-used-to-build-windows-7Secondly, Visual Studio is a quite acceptable IDE, and could very well be the best software product they ever made.