« first day (1743 days earlier)      last day (3484 days later) » 
00:00 - 07:0007:00 - 00:00

user54412
00:00
C was my first language -- taught myself in my spare time over 2-3 weeks. Every other language has been trivial to learn since then.
how about C++ instead of C?
user54412
I've never been confused by memory, pointers, floating point arithmetic, or any such other fundamental concepts.
I mean C++ v.s. C
user54412
@Shing Use the subset of C++ that is C and you'll be fine ;)
okay, I guess I will go with C or C++.
user54412
00:02
Modern C++ is all about trying to be a high-level black box, and it comes across quite awkwardly. The modern approach is "don't worry about how this works, just use boost" or "just declare everything auto and worry about bugs if and when they appear"
@Shing I would recommend going with C++ first if you really want learn a systems langauge. Once you have a good grasp of the basics, try implementing vtbls and smart pointers etc yourself (in C'ish) to get a better idea of how things actually work.
user54412
Also, learn Python. It's a ubiquitous tool found everywhere, and it's quick to write and has lots of packages written for it.
So C++ then Python?
user54412
I would never recommend it for serious computation, despite what its advocates say. But low-leveled compiled languages aren't right for every task (no language is), and Python complements C/C++ very well.
@Shing Depends. You kind of have to have an application in mind. For a beginner doing interesting stuff in Python is much easier than C/C++ (as in getting some graphics or plots to appear on screen).
user54412
00:08
^ I won't disagree with that.
user54412
If you start learning to code without anything interesting to do with the language, you'll probably lose interest and quit.
yeah that's true. how about this: get a warm up with Python then C++?
and then big data. it seems hot now
Also, Python can probably be more performant than a badly written C code when you forget to turn on compiler optimations etc, so you really shouldn't worry about performance at this point. And for real performance gains you will have to understand assembly anyway and to experiment with different compilers etc.
@Shing Well Big Data is a thing of its own. From software viewpoint, you will want to understand databases and probably frameworks like hadoop, spark, mapreduce. Also, you should have a lot of data on... well, something.
oh I thought I need a lot of program to do big data.
user54412
@alarge I get the sense that a lot of people forget that last ingredient
00:14
so are positions of research hard to find today after graduate school?
@Shing Big data is one of these buzz words that keeps being thrown around, and it can mean different things to different people: It can mean the infrastructure and databases that enable you lightning fast access to data or it can mean the sheer amount of data being consumed by your neural network (say).
I probably won't touch that in a visible further
anyway
user54412
@Shing Once you start to feel comfortable with a language (but not before -- no need to get overwhelmed), you should learn git (or another version control program if you really insist). Good version control habits are invaluable, and you may as well develop them early. In fact, there's no reason not to use git for your latex documents either.
I haven't heard of git before, is it kind of like word performance editing?
@Shing Depends on your field, the country you live in etc, so that is difficult to answer. I would say that post docs shouldn't be difficult to find, but probably tenured positions are very competitive.
00:22
@alarge there are many positions in my country, but schools are so lack of funding that, we have quite some position available, but not enough research people
@Shing Git is a system to keep versions of your program or text. You commit a new revision to the repository (i.e. you save the modifications you made to your program), git also keeps the entire history of your project so you can revert. So if you notice that your program stopped working, it is very easy to go back to the old version. This is highly simplified, but that's the basic idea. Very useful in particular when you work with a lot of people.
oh I see, then that makes perfect sense to learn git after C++
@Shing Well you can learn git as you learn C++ or as you write documents in LaTeX or whatnot.
I see. thank you for your kind and useful suggestions, @alarge and @ChrisWhite
user54412
Opinions are plentiful -- feel free to ask more any time. Especially if you want to know which is the One True Text Editor to use ;)
00:30
get to study relativity now, see you guys, thanks for helping.
thanks Chris :)
@ChrisWhite emacs
@KyleKanos No holy wars, please!
user54412
@ACuriousMind Tabs or spaces? Answer me now!
@ChrisWhite Whatever I feel like at the moment! ::laughs evilly::
Oh that is evil
00:39
::is quietly tortured to death by @ChrisWhite for this answer::
@ACuriousMind Plot twist: Chris died of a stroke due to your comment
@ChrisWhite Spaces!
@ChrisWhite I've said this before and I'll say it again:
IDL should be ostracized.
Also, you should all stop hurting yourselves with Matlab and use either python or Julia.
Octave is so-so version of Matlab, but nearly as good as Python or Julia
user54412
I switched from Matlab and IDL to Python years ago. My innate skepticism of anything new and trendy prevents me from using Julia.
@ChrisWhite Depending on your existing code stack and cost of conversion, I'd recommend checking it out for 30 minutes a day for a few days.
Julia has a JIT and that can help you quite a lot.
00:48
@DanielSank Well Julia is still missing a lot in terms of even rather basic functionality, and numpy/scipy is a bit of a mess and not as performant or nice to use as Matlab.
@alarge While numpy may not match Matlab in terms of speed, I will argue with you until we're all dead about ease of use.
user54412
There's also the issue that if it isn't installed on the computers I use, I can't justify using it.
@ChrisWhite Huh?
Just install it.
user54412
Not always possible/feasible on big clusters.
Just use R
00:49
@ChrisWhite Ah.
user54412
I had trouble getting Python 2.7 on some machines...
I don't really understand why people who need big clusters use interpreted languages.
@DanielSank Hadoop
@ChrisWhite I'd be very interested if you could explain this.
@KyleKanos wut?
@ChrisWhite not being sarcastic. I really want to understand this.
Apache Hadoop is an open-source software framework written in Java for distributed storage and distributed processing of very large data sets on computer clusters built from commodity hardware. All the modules in Hadoop are designed with a fundamental assumption that hardware failures (of individual machines, or racks of machines) are commonplace and thus should be automatically handled in software by the framework. The core of Apache Hadoop consists of a storage part (Hadoop Distributed File System (HDFS)) and a processing part (MapReduce). Hadoop splits files into large blocks and distributes...
00:51
@KyleKanos Ok, why do I care about this?
user54412
@DanielSank Not for the simulations per se. But when a single data dump is 100 GB, and I have many dumps, relocating the data for analysis is no longer possible. So all my Python post-processing and visualization has to be done on their machines too. :/
@ChrisWhite I see. So the cluster is needed for memory, not speed?
@DanielSank You can use interpreted languages on that
@KyleKanos Ok, but... again... if I need a cluster doesn't that mean I need performance?
In that case shouldn't I compile my code to native?
user54412
@DanielSank Speed first, then memory later.
00:52
MPIAMRVAC also needs perl to turn the LASY into F77
@ChrisWhite If you need speed isn't python a terrible choice?
user54412
Actually, it's not even that my machine can't hold the data, it's that it would take months to move it.
@KyleKanos I'm sorry I'm not following you at all :\
@ChrisWhite Is the issue run time speed or data storage or both?
@DanielSank Yes & no. Hadoop distributes TB+ of data that you're processing (efficiently) w/ interpreted languages
@DanielSank separate statement
So really define performance
user54412
@DanielSank Run time speed for creating the data with a low-level language. Data transfer speed limits ever moving the data elsewhere. The post-processing isn't as speed-limited, so I can get away with Python. Or if not I can do basic analysis and make less-than-pretty pictures with VisIt.
00:59
@ChrisWhite So you process the data with compiled native and then do stuff with python to sort it and move it around etc.?
packing is coming along nicely
user54412
@DanielSank Exactly.
@ChrisWhite Groovy. Thank you for explaining that.
user54412
@DanielSank Of course I can't speak for everyone else using clusters. And I suspect a number of them are doing sub-optimal things with their time allocations.
@ChrisWhite No $&)#.
:-)
01:05
@ChrisWhite hey Chris! So I reread your answer on that question from before and I looked up a pseudometric today. And on the wikipedia page for a metric space, they mentioned that the property that $d(x,y) \Rightarrow x =y$ is called the "identity of indiscernibles". I've never heard of this. What is it?
user54412
I've never heard the term "identity of indiscernibles" before
user54412
But it seems to be just that -- the property that two objects are the same if and only if the distance between them is 0
@StanShunpike There's a $=0$ missing, and it's just the statement that for an actual metric on a metric space, two points for which the metric is zero (i.e. which have no distance between them) are equal, because you can't "discern" them by putting a distance between them
The Lorentzian "metric tensors" of GR are not metrics in this sense, however!
The path length "metric" they induce on the manifold by measuring the "length" of curves is only a pseudometric
user54412
Hence my belabored notation in this answer that Stan is referring to.
Yeah, but a pseudometric seems to be just a metric with the constraint of identity of indiscernibles relaxed, correct?
01:12
@StanShunpike That's a big "just", but yes.
Why is it so big?
And thanks for linking that @ChrisWhite
I'm on mobile. Hard to do
user54412
Actually, the overloading of the word "metric" is one of only 2 cases I can think of where this happens in math. The other is "separable," which has at least 3 distinct meanings.
What do you mean?
@StanShunpike Because e.g. you can't reasonably define convergence by this metric now. Usually, a metric space carries a notion of convergence, i.e. a sequence $x_n$ converges to $x$ if the real numbers $d(x_n,x)$ converge to $0$ as real numbers. The identity of indiscernibles guarantees that this limit $x$ is unique, and close in the topological sense. For a pseudometric, this gives no reasonable notion of convergence because many different points may fulfill it.
user54412
Usually math comes across as very well thought out. If you see the same word in different contexts, it has a deeper meaning that holds in both. But with "metric" and "separable," there really isn't too much justification for using the same word in different settings.
01:18
What tests can one perform to confirm that spacetime satisfies all the properties of a pseudometric?
Or rather that a spacetime interval exists
@DanielSank I can't remember any specific examples off the top of my head, but I'm quite sure there were functions where things were ordered in different ways and not entirely consistent. Also the way to write arrays in numpy array([1, 2, 3]) is a lot more verbose than [1, 2, 3] and get worse with transposes and column vectors.
I mean, I remember wheeler's book.
But he didt really go over pseudometrics
how am I going to survive without my kitty
D:
@StanShunpike Are you asking for tests of GR?
f u steam
01:28
@0celo7 That was a quick change of mind from "how am I going to survive without my kitty" :P
I can be sad and browse steam at the same time
user54412
steam's not quite as good as amazon yet -- the latter tempts me with 100s of dollars worth of stuff I really want to get every time I log on
obe
obe
@ChrisWhite It reads your mind.
Like it has all the books that I plan to read in the future on the front page.
vzn
vzn
01:47
@ChrisWhite lol fighting words! some contrarian opinion. a big java user/ fan after many yrs. of the language, but not nec how it is used/ applied. know it is not used in science a lot, but its very big in business. really pays $$$. spolsky is a fun read, admire his talent, but can think of all kinds of counterclaims to his article/ near-rant. the massive shift to java in universities does not nec need to be seen as a "dumbing down" but as a responsive mass shift. could write much more...
@alarge Transpose in numpy is e.g. my_array.T
vzn
vzn
there seems to be a misconception by some (somewhat reflected in the spolsky article) that if one is not struggling with the language then one is not accomplishing a lot. but what if one wants to focus more on the problem than the language? java is designed with that in mind.
How is that worse than Matlab's thing?
Also, @alarge, while I agree that numpy makes some things more verbose, I'd say in general that writing numerics in the context of a real language like python is way better than trying to shove Matlab into your brain :)
@ACuriousMind No, I have Weinberg's book. He provides those. I was just wondering how we know the spacetime interval has all the properties of a pseudometric.
@DanielSank Well, unless I am mistaken, when you make an array, it's really neither a column or a row vector, so the transpose doesn't work on it. Except if the array is 2D, then it does.
01:53
@StanShunpike ...you can just explicitly check it, if you accept SR/GR.
@alarge In numpy an array has a shape, which is a tuple of integers.
If the shape has two elements your array is what you normally think of as a matrix.
If you do .T on that you get the transpose as you expect.
@DanielSank That said, there are some flaws with Python for a scientific context. In particular I would prefer arrays to be float by default, but array([1, 2, 3]) and array([1., 2, 3]) are different. There are also subtleties with the way references are handled, so b = a makes b a reference to a rather than a copy.
Now, numpy supports something substantially more interesting than arrays: it supports arbitrary rank tensors.
In that case you can use np.transpose(my_array, axes=(i,j,k)), and it will permute the specified axes!
@alarge Sooooooooo, you don't like efficient memory usage and faster code by default?
That's fine, just make copies :-)
@DanielSank I'm quite sure matlab has those as well and all the operations. The last time I used matlab was probably 2008 so can't vouch for it, but I am certain that I did do plenty of N-dimensional stuff (could have been through cells if no native type)
user54412
@alarge Python 3 is moving that direction, what with 1/2 being 0.5 rather than 0. (and integer arithmetic relegated to 1//2) I actually don't like this direction though.
01:56
@alarge When I got to cells is where I decided that Matlab is terrible :-)
numpy just deals with tensors of whatever rank. You don't need a new data type when you go past rank-2.
@DanielSank b = a; b[1] = 1 and a changes is not what I expect. I'm fine when everything is clearly a pointer or a reference, but with python i have to remember the types to know how they happen to behave.
Much more internally consistent interface because of that.
@alarge That particular example is perfectly consistent with all of python.
In python everything is a reference to an object.
If I do
a = [1, 2, 3]
b = a
@DanielSank It is consistent with Python which is why I said that Python is not particularly well suited to be a numerical scripting language.
a.append('banana')
I can work with it, but it is an annoyance.
01:58
Then b is now [1, 2, 3, 'banana']
@alarge Ah.
@alarge Again, I think having a self consistent syntax (i.e. don't need "cells" for rank > 2 tensors) is more of a good thing than everything-is-a-reference is a bad thing.
@DanielSank I'd be surprised if matlab didnt have n-dimensional arrays as a native type. But that would indeed be a serious deficiency.
@DanielSank a = array([1,2,3]); a.shape == (3,) meaning that a.T.shape == (3,) is what I meant with the transpose thing earlier.
02:18
this chat has been taken over by programmers
you streaming tonight?
oh wait your stuff is all packed up
nooooo
my important stuff is not packed up but I have an early morning
going to bed in just a bit
alrighty
I won't be able to get my desktop until this weekend
but then I can start playing Skyrim
and you can help me with mods and all that jazz
yesss
I'll teach you and my roommate
02:22
@0celo7 You'll teach them to produce a game that crashes five times before it starts? :P
@ACuriousMind screw you
I'm probably overloading the memory
or something
hopefully my brother didn't screw with my old saves
0
Q: Why do I hear voices when I touch my turntable needle?

QixSo I was trying to figure out the reason why my old (and probably sufficiently damaged) needle on my phonograph (turntable) was not working like it was a little while ago. With my headphones on, I was playing around with it and happened to touch two of the leads on the underbody of the needle. ...

wtf
02:24
what the fuck lol
@FenderLesPaul you'll need a clean install
this stuff will seriously fuck your game up
@0celo7 that's cool
I've had the game lose all textures
it's not like I was too attached to my old character anyways
SkyRe in particular will rek saves
it completely changes stats, perks, pretty much everything
02:27
ah ok
works for me
although @ACuriousMind might know better what it does to saves, I installed it right when I got my game and I didn't have any vanilla files
I can't imagine it's good for them
Never tried loading an old one, I don't like looking at glitches
besides, you want to do a new char with it on: it's a difficulty mod
no use loading into an OP char
in particular, the difficulty at higher levels comes from the fact that they removed smithing and enchanting potions from the game
also they changed the perks so you can only get 50% boost to various stats
@ACuriousMind what video games have u been playing lately?
Or computer*
@StanShunpike Mainly Path of Exile lately
02:39
That is a Windows based game, yes?
@alarge Ah yes, this is a gotcha for many people. There's a difference between an array with shape (3,) and an array of shape (3, 1).
The first is a rank-1 tensor and taking the transpose is meaningless.
I would say this actually makes a lot of sense and the error is in the user's brain.
SO(3) and SO(3,1)
@DanielSank "The error is in the user's brain"...also often occurs on SE :P
user54412
"The error is in the user's brain." -- DanielSank, chief of h-bar documentation.
user54412
:)
02:41
@ChrisWhite I think this is funny but I don't get it.
@StanShunpike Uh...I'm playing it on Windows, no idea whether it has Apple or Linux versions.
If you're asking whether it has console versions, definitely not
user54412
@DanielSank I've seen some pretty poor documentation that must have been written with that as a constant thought in the writer's mind.
@ChrisWhite That's sad.
I'm sorry.
Lol no no I was just surprised you usdd windows. So many people seem to dislike it these days
@ACuriousMind
Software is hard. You have to balance internal consistency against not surprising the user.
02:42
ACM is a Windows fanatic
In general I think internal consistency is more important.
@StanShunpike I would be a Linux user if it weren't for my precious games.
@ACuriousMind Steam is trying to change that
PoE is purely Windows
@KyleKanos I know, and I think that's great
02:43
why use Linux for personal computing
there's no reason
My wife is letting me buy a PS4 when we move
Mostly for the Bluray & Netflix/Hulu capabilities, she says
Little does she know it's for FF7 time
I could buy a PS4
no TV
@KyleKanos Hehe
in two days I will officially be poor
@0celo7 don't you have a mac that runs windows?
02:46
@0celo7 I guess I just like the idea of free software as such, and I like doing things through a terminal. It's somehow...satisfying.
@ACuriousMind why not do that like @0celo7?
@ACuriousMind OSX is free
Also, compiling/running command-line programs is such a hassle on Windows
@StanShunpike it's shit for gaming
Ahh
Okay. Thats why
02:47
I have to hassle with the drivers and settings to get games to look pretty and then I have random issues that no one else has
@StanShunpike I am too lazy to switch between operating systems depending on what I want to do :D
I get system-crippling crashes
Lolol
@0celo7 I have heard about them in chat a few times. They sounded annoying
@0celo7 Not really. Upgrades are free, but the OS itself costs money
Though you're technically not allowed to install the OS on not-Apple products because of the EULA
@KyleKanos every Mac comes with OSX
it's free in that sense
02:48
Every PC comes with Windows, it's free in that sense
it does?
But if I go to the damn store, it's three-hundred frikkin dollars
I thought you had to buy it then install
Linux distros...just are free, they are free in that sense.
$300
no
I got 8.1 Pro for $100
02:49
@0celo7 Yes, most computers you buy come with a pre-installed version of Windows
@0celo7 Only if you're building from scratch; buying from Dell|HP|Lenovo|etc it'll be included in the build
I see
@DanielSank Yes it is a common gotcha, and that's not how I want a scripting language work. When I code C and start casting pointers, I know what I am doing and the compiler gives up and hands me the reins. You have to read hundreds or thousands of pages of stuff to get basic competence in C++ pitfalls and idioms (and people keep complaining about C++ because of this), but I don't want to have to know and remember this stuff to prototype and to script.
@KyleKanos how am I supposed to know that
02:51
The frikkin bit was one clue
didn't catch that
Frikkin seems to be @KyleKanos 's new favorite word
...I use it twice (once pointing out the other's use) and it's not my favorite word?
frikkin sounds like a Mortal Kombat character
Frikkin finish him
02:53
Lol I was exaggerating
Well who the hell can tell exaggeration online!?
Frikkin freaks
@KyleKanos I can.
02:56
@skullpatrol what is this?
I thought you just taught us all about exaggeration
@KyleKanos context ;-)
Did. Not.
@0celo7 Powerusing stuff. A LOT more to choose from for basically anything. Throw in Ratpoison and trash the mouse and use your computer like a wizard if you want. Or you could've put in GNOME3 if you wanted the new windows feel years ahead of windows. Not to even talk about applications.
And even if OSX didn't cost money, it most certainly wouldn't be free.
btw, @alarge did you settle on a browser extension to use the keyboard more?
03:03
@ACuriousMind No. Right now it doesn't matter that much anyway as I'm just using my old laptop. But once I buy a new desktop and get that running, I'll definitely want to find something.
I was waiting for Skylake. Now it's out, and I'm waiting on reviews on mobos etc before making a decision. I'll probably be running on the IGP until nVidia releases Pascal.
Lolol @KyleKanos
You should change your username to "The Wizard." :P
Was quite disappointed to see that they didn't include avx512 on the skylake consumer grade chip though.
@alarge I want to get a better mouse so I can use it more
time to slep
night y'all
Later pal
user54412
03:08
@alarge You're making me jealous. Now I want to upgrade my computer.
user54412
I actually never care about upgrading software or my OS, but when a new hardware architecture or thinner dye comes out...
@ChrisWhite Install BSD over OSX and it'll be like brand new
@0celo7 Enjoy the last sleep at home :)
@KyleKanos Obligatory
Ocelot's getting himself off to Collage
@ACuriousMind Never actually tried BSD, but a classmate who used FreeBSD recommended it to me every chance he got
@ChrisWhite Nothing changed with skylake though, well not for the desktop anyway. The platform has faster connections to peripherals and I think with possibly several M.2 slots etc.
Oh and apparently they are going to build laptops with Xeons in them. Which makes me jealous if they get avx512.
03:14
Xeon's in laptops?
ThinkPads...of course!
Very funny
$2,000 :O
Even the cheapest iWatch is $400 -__-
@skullpatrol Worth it.
 
1 hour later…
04:22
@alarge So you don't like python in general?
 
2 hours later…
06:31
@DanielSank can we cont. over lindblad convo?
@TanMath yes
What would you like to know?
@DanielSank so know, what was the operator that you put the sqrt of the rate? How is that operator found?
Let's see if we can work out an example, ok?
Please turn on chatjax for this.
First of all, what is you level of experience?
It I talk about a two level system coupled to a bath, does that mean anything to you?
@DanielSank yeah.. it means a system with two states that is connectdd to a bath (i guess, in this case, that would be the environment, correct?)
Correct.
06:37
Also, do you have mr. mohseni's email? i cant find one online.. I would certainly like to talk with him...
I am consulting a book.
One moment, please.
@DanielSank which one?
Serge Haroche's "Exploring the Quantum".
I have found the section that will help us.
Ok, here is the basic idea.
@TanMath: Suppose my two-level system is connected to an environment.
@DanielSank how is this bath modelled? using a harmonic oscillator?
Because of the coupling between the environment and the two-level system (from now on TLS), the TLS may lose one quantum of energy to the environment. Ok?
Frequently you can think of the bath as a collection of many harmonic oscillators.
06:43
@DanielSank ok..
This is a good model if the bath is composed of bosonic modes, which is a lot of things.
@DanielSank yes.. this is the model I am currently using
Ok, the Lindblad operator which removes a quantum of energy from the TLS is:
$\left( \begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array} \right)$
This is often called $\sigma_-$.
If you want to model the TLS in contact with the environment, the non-unitary part of the evolution is
$-\frac{1}{2} \left( \sigma_+ \sigma_- \rho + \rho \sigma_+ \sigma_- - 2 \sigma_- \rho \sigma_+ \right)$
@DanielSank is this an annhilation operator?
Yes, $\sigma_-$ is like $a$ in the harmonic oscillator.
06:47
@DanielSank ok..
@TanMath what part of this do you want to understand more deeply?
@DanielSank sure, but is there a general way to find the collapse operator? for all types of systems?
@TanMath there are two ways to answer that:
1) If you know the microscopic equations, e.g. the coupling Hamiltonian between the system and bath, then you can calculate the collapse operators directly.
2) If you know that the system undergoes a particular type of decoherence, you can choose collapse operators to reproduce that decoherence.
can you illustrate both?
The second method is easy.
Like I said before, if you have a TLS coupled to the environment then the TLS may undergo energy decay.
The operator which lowers the energy of the TLS is $\sigma_-$.
So you pick $\sigma_-$ as the collapse operator.
06:56
@DanielSank so this would be for the second case?
If you plug that into the Lindblad equation and see what happens you find that your TLS has an exponentially decaying probability to remain in the excited state.
@TanMath Well, I'm sort of blending the first and second cases, I suppose.
The point is, if you pick $\sigma_-$ to be the decay operator, you get exponential energy decay.
So, in systems where you observe exponential energy decay, you know to just use $\sigma_-$ as the decay operator.
@DanielSank well, I dont see the connection between your example and the two cases
If I know the system experiences energy decay, I pick the operator that produces energy decay as the collapse operator.
Can you explain why you don't understand that is an instance of the second case I listed?
@DanielSank but the point is to find that it produces exponential decay...
@DanielSank ok.. I guess i can see that..
The usual form of the Lindblad equation always produces exponential decays. It assumes that the environment has no memory.
00:00 - 07:0007:00 - 00:00

« first day (1743 days earlier)      last day (3484 days later) »