« first day (1544 days earlier)      last day (3445 days later) » 

user20683
10:00 PM
I know how to deal with Matlab loud crash outside
 
user55340
(ug - why do professors have such awful pages) pages.cs.wisc.edu/~amos/cs412.html
 
you deal with it by hitting it with a car? Seems plausible, I found Wolfenstein Spear of Destiny run over in the street as a lad and the disks still worke. Cars are clearly appropriate tools in computing given my experience.
 
user55340
@JimmyHoffa Consider taking an integral of a function. You've got y= x^2 and you want the integral from 0 to 10.
 
user55340
How do you write a computer program to do that?
 
@MichaelT you lost me at integral, I still think that just means whole number
and you're missing an f, clearly you meant f y = Math.Pow(x, 2);
:)
 
user55340
10:03 PM
 
user55340
What is the area of the part underneath the curve in that graph?
 
who knows?
 
user41796
@JimmyHoffa The integral knows
 
user55340
In numerical analysis, the trapezoidal rule (also known as the trapezoid rule or trapezium rule) is a technique for approximating the definite integral The trapezoidal rule works by approximating the region under the graph of the function as a trapezoid and calculating its area. It follows that == Applicability and alternatives == The trapezoidal rule is one of a family of formulas for numerical integration called Newton–Cotes formulas, of which the midpoint rule is similar to the trapezoid rule. Simpson's rule is another member of the same family, and in general has faster convergence than the...
 
depends on how accurate you want it @MichaelT ;)
 
user55340
10:04 PM
 
can dx = 0.01? 0.001?
 
user55340
you find yourself doing something like that to get smaller and smaller errors.
 
user20683
1000/3 - 0 ~= 333.3
 
user20683
you can use taylor series as well
 
user20683
or power series I should say
 
user20683
10:05 PM
but you need to be careful to pick ones that converge quickly
 
user55340
In numerical analysis, Simpson's rule is a method for numerical integration, the numerical approximation of definite integrals. Specifically, it is the following approximation: Simpson's rule also corresponds to the three-point Newton-Cotes quadrature rule. The method is credited to the mathematician Thomas Simpson (1710–1761) of Leicestershire, England. Kepler used similar formulas over 100 years prior. In German, the method is sometimes called Keplersche Fassregel for this reason. Simpson's rule is a staple of scientific data analysis and engineering. == Derivation == Simpson's rule ca...
 
@MichaelT aren't all of these things parts of linear algebra though and taught in math courses not CS-only courses?
 
My calc ii professor drilled us constantly about reimann sums
which basically is the trapezoid rule
 
user55340
@JimmyHoffa linear algebra can work with symbols. Symbols are hard for computer methods.
 
but it gave me a good theory of how calculus works...
 
10:07 PM
@MichaelT ? is that a refutation? I really don't know math so I'm not sure
 
user55340
You could also do it as a rectangle too...
 
user55340
 
Huh you could do all sorts of interesting math-ish problems
 
user55340
@JimmyHoffa Its a hard problem to go from "derivative of x^2 + x" to "2x + 1" for the general case.
 
@MichaelT so this is what you feel like when I talk about monads
 
user20683
10:08 PM
@MichaelT last I checked integrals are NP-Hard at the least
 
user55340
 
user55340
In numerical analysis, Newton's method (also known as the Newton–Raphson method), named after Isaac Newton and Joseph Raphson, is a method for finding successively better approximations to the roots (or zeroes) of a real-valued function. The Newton–Raphson method in one variable is implemented as follows: Given a function ƒ defined over the reals x, and its derivative ƒ', we begin with a first guess x0 for a root of the function f. Provided the function satisfies all the assumptions made in the derivation of the formula, a better approximation x1 is Geometrically, (x1, 0) is the intersection...
 
@MichaelT you are making me think of how much more beneficial most of my calc classes would have been had I had to implement algorithms for each concept (though I remember the concepts pretty well)
 
user55340
@JimmyHoffa if I gave you the function "y = x^2 - 1" and asked you "give me a value where y = 0" you could do that rather quickly just looking at it.
 
user55340
 
user55340
10:13 PM
just thinking, well, x^2 would have to be +1, and thus sqrt(x) = 1. Thus, x = 1.
 
yes, I understand that graph given that function
 
user55340
But if you were to write a program to do it... you couldn't be thinking that way... you'd do "well, lets make a guess. Lets say its 0.5. And then you see where the line tangent to 0.5 crosses the y axis. And you go "oops, not the right answer" and then you refine that guess again. And again.
 
user20683
okay, now do that for ln(x)^arcsin(x)
 
user55340
That's newton's method.
 
user55340
@WorldEngineer flag as offensive.
 
10:14 PM
@JimmyHoffa My linear algebra was just a general linear algebra for engineering
 
@MichaelT and that's taught in CS classes not math classes?
 
user55340
Yep. Numerical methods. CS 412 at the UW Madison. My linear algebra class was something else which was a pure math class (matrices and the like)
 
user20683
I had it as a crosslisted class
 
user20683
Mathematical Models for CS
 
oh so numerical methods is algorithmic methods to solve math problems?
 
user55340
10:16 PM
@JimmyHoffa yep.
 
user20683
@JimmyHoffa in a sense
 
user20683
They are specifically techniques for dealing with things that require infinite precision to represent and the finite approximations therein
 
user20683
roots, calculus, other things
 
@MichaelT ...RDBMS' these days have geospatial types....just sayin... ;D really though, I'm sure people would come out lacking all kinds of things if one did as I mention above
 
user55340
Now you're getting into something that would take a group of 10 college students who were able to work on it full time a decade to have sufficient skills to be able to do that.
 
10:19 PM
haha true
which is why geospatial types are a pretty new part of RDBMS'
 
user55340
(looking up how many credits you need to have in your major...)
 
user20683
@MichaelT who me?
 
user20683
120
 
user20683
like any one else
 
user55340
@WorldEngineer 120 total...
 
user55340
10:21 PM
but, for example, UW Madison required that 40 credits (IIRC) had to be from outside your major.
 
@MichaelT I mention RDBMS just as it's my erstwhile idea of "Touches basically everything in computing from theory and application" -> Is that not true? You say above people would be ready to be hired by oracle but I figure someone who can code an RDBMS could really do any job in the industry. I'm curious, can you think of any other techs that cross so many skills? I'm trying to think of one, all I get is RDBMS and ...? web server? dunno
OS implementation doesn't touch as many skills I don't think, so much low level and so little abstraction while RDBMS demands many abstractions
 
user55340
You had to take 12 credits of humanities classes outside your major department, 12 credits of social sciences, and 12 credits of natural sciences... and then you had 4 to play with.
 
web browser?
 
user55340
The 12 natural sciences had to include 6 bio science and 6 physical science credits.
 
user55340
The humanities needed to include 6 credits of literature.
 
user55340
10:24 PM
@JimmyHoffa Most large applications touch on many things. I can't think of anything that touches on everything
 
user55340
The other part of concern that I would have for a group working on a project (and I've seen this) is that strong students can pull weak students in the group through the class to get a satisfactory grade that doesn't represent what they know.
 
user55340
There's also the "its a huge project, that involves XYZ - you work on X, I'll work on Y, and Bob will work on Z"
 
user55340
At the end of that though, I won't know X or Z.
 
@MichaelT nonsense, I get what you're saying about RDBMS, but can you think of something that uses as many or more skills? Most large applications are garbage enterprise junkards implemented using only the skills at disposal of the corp regardless of benefits they might gain from using other skills
 
user55340
@JimmyHoffa operating systems (memory, concurrency, file systems)
 
user55340
10:27 PM
Some even consider file systems to be a database.
 
but OS implementation has very little high level abstractions no? The file system I had thought might be the closest as you mention
 
user55340
A good centralized version control system could also touch on database, network stack...
 
aye, CVS that makes sense
 
user55340
Not Another Completely Heuristic Operating System, or Nachos, is instructional software for teaching undergraduate, and potentially graduate level operating systems courses. It was developed at the University of California, Berkeley, designed by Thomas Anderson, and is used by numerous schools including the University of Southern California, Indian Institute of Technology Kanpur, University of California, Irvine and Aristotle University of Thessaloniki. Originally written in C++ for MIPS, Nachos runs as a user-process on a host operating system. A MIPS simulator executes the code for any us...
 
web servers have high level abstractions and low level ones, but nowhere near the amount of disk (persistent) IO which is a different beast from non-persistent IO (network, ram)
 
user55340
10:30 PM
I vaguely recall an assignment I had for operating systems class "implement malloc".
 
you just wrote a perl script that piped stdin to /dev/null didn't you?
 
user55340
The thing is, I'd like to find college grads who can learn (more so than "I've done these things in college").
 
user55340
@JimmyHoffa That was before I knew perl... it was writing a library that we would use to replace stdlib.
 
user20683
My OS class was nowhere near as useful
 
user20683
I basically only remember paging
 
10:32 PM
I figured; and yeah that's a hard thing - telling people who can learn apart from them who can't. Best you can get are proxies, and with schools giving the same experience to each of them there's very few of those I would think
 
user55340
malloc was one. Another was semaphores (we actually wrote a draw bridge simulator... I remember naming the semaphore troll).
 
user20683
semphores I know about from other classes
 
user55340
We also wrote a scheduler that was allocating 'time' to processes and also doing blocking for access to resources.
 
user55340
You've got 20 blocks of storage... program 1 comes and asks for 10. Ok. Here's 10. Program 2 comes and asks for 7. Ok, here's 7. Program 3 comes and asks for 4... nope, you're blocking until I can get 4 for you.
 
user55340
Which was also mixed in with a 'process 1 ran for 10 time units without stop, move it to queue 2 and run process 2... it ran for 10 units, move it to queue 2. Run process 1 for 20 cycles now... oh, it ran for 3? move it back to queue 1...'
 
user55340
 
user20683
 
@MichaelT I remember Nachos! That was a fun class, but I shudder to think of my code quality back then
emailed tarballs for version control, etc
 
user20683
I have an old project codebase from like 3 years ago, it's horrifying
 
user55340
I learned the value of version control in my language theory class (partners). I used RCS back then for a few of my top projects...
 
user55340
and found out that 'make' would automatically check out current version. So, I put the RCS directory in my workspace, shared permissions for that directory with my partner and did a quick 'ci' and 'co' and 'make' tutorial with him and we got things done without stepping on each other's toes.
 
I've been pondering for a while creating an open source repo to start slogging C# libraries into for the myriad of things I'm constantly wanting that are poorly done in other libraries. But then I'm at home and think "Work? Eff that.." maybe I'll actually do it some time. I've rewritten the same libraries for jobs over and over again because companies hate reuse unless the libraries 3rd party so often they rewrite their own core shit for each project
 
user55340
11:40 PM
Other groups had more fun with drunken coding introducing errors, or someone writing stub versions of the .c on top of the partner's fully written .c file.
 
@MichaelT i remember back in my first coding class, one of the first assignments, I stayed up all night trying to get the damn thing working, but it was infinite looping and segfaulting all over the place... for (int i=0; i++; i < array_length). It finally clicked around 3 AM
 
If I do, I think I'll call it CF#, what the CF stands for is up to readers to surmise. I've written approximately the same logging service like 5 times now across companies because it's a simple generic logger usable to most purposes, I've written producer-consumer queues multiple times, rewritten abstracted service hosts (which OWIN is supposed to replace but lacks a lot), and most C# IoC libraries have thousands of lines of code to do something that could be done in a couple hundred...
 
user55340
@MattGiltaji the lab that I hung out in had a number of people including some post-grads (who came back to work on research). They were of great help in teaching us hints about industry and things like 'debugging'
 
user55340
I learned how to use gdb there and set up breakpoints and the like.
 
there are so many 3rd party libraries in the .NET landscape people use for doing so many things, but all of them are huge when they don't need to be
 
11:46 PM
@MichaelT yeah I learned about gdb after that. Our lab had a bunch of CS grads living in there as well
 

« first day (1544 days earlier)      last day (3445 days later) »