Two Plus Two Publishing LLC
Two Plus Two Publishing LLC
 

Go Back   Two Plus Two Poker Forums > >

Notices

Programming Discussions about computer programming

Reply
 
Thread Tools Display Modes
Old 03-06-2014, 12:09 AM   #12726
candybar
old hand
 
Join Date: Aug 2011
Posts: 1,958
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by Grue View Post
So 2 years ago today I hadn't written a line of code in anything since high school on a TI-85 and hadn't had a job of any sort in 8 years.

Today I accepted a position with a title of "Senior Software Engineer" at a fortune 100 company.
Congrats - good luck and stay hungry.
candybar is offline   Reply With Quote
Old 03-06-2014, 11:38 AM   #12727
suzzer99
Save the Cheerleader, Save the World
 
suzzer99's Avatar
 
Join Date: Nov 2005
Location: on top of the bell curve
Posts: 91,977
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Wow – I'm not hundred percent sure I believe this – but apparently the creator of bitcoin was found living near me – and he's 64 years old: http://www.cnbc.com/id/101469309

Maybe you can do this **** until you die and I don't have to become a middle manager at some point. Yay.
suzzer99 is offline   Reply With Quote
Old 03-06-2014, 03:12 PM   #12728
clowntable
Carpal \'Tunnel
 
clowntable's Avatar
 
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 45,562
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by jjshabado View Post
This prof should be fired.
iirc the all take a MouseEvent and are called something like mouseClicked, pressed, released and...entered, exited or something confusing

Common knowledge imo :P

Edit....Boom 100%

But seriously...that is a silly question
clowntable is offline   Reply With Quote
Old 03-06-2014, 03:23 PM   #12729
clowntable
Carpal \'Tunnel
 
clowntable's Avatar
 
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 45,562
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I think structurally the "not teaching inheritance" and "don't teach PHP" arguments are very similar.

Thinking back at when I first learned OOP-stuff reminds me quite a lot of the first time I picked up an HTML book.
The result was one of these horror early WWW times websites and the OOP counterpart was code that used every shiny new concept

Quote:
Originally Posted by Grue View Post
So 2 years ago today I hadn't written a line of code in anything since high school on a TI-85 and hadn't had a job of any sort in 8 years.

Today I accepted a position with a title of "Senior Software Engineer" at a fortune 100 company.

#bootstrapz


Very nice

Last edited by clowntable; 03-06-2014 at 03:30 PM.
clowntable is offline   Reply With Quote
Old 03-06-2014, 05:42 PM   #12730
jjshabado
Carpal Tunnel
 
jjshabado's Avatar
 
Join Date: Jul 2006
Posts: 22,544
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by clowntable View Post
I think structurally the "not teaching inheritance" and "don't teach PHP" arguments are very similar.
I'm not sure I understand.

PHP is a specific language for a fairly specific purpose. Its pretty easy to go through life not needing to know anything about it. Inheritance is a concept that has some general purpose usefulness (ignoring completely the argument of if its the *most* useful concept in any specific setting or if there are specific settings where its worse than nothing) and it would be almost impossible to go through life not using a language that has inheritance baked into it in one way or another.
jjshabado is offline   Reply With Quote
Old 03-06-2014, 06:15 PM   #12731
Larry Legend
Celtic Pride
 
Larry Legend's Avatar
 
Join Date: Jul 2009
Location: Kyrie's earth
Posts: 42,698
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Was just doing some research and realized google analytics premium is $150k/ year, and is a completely different tool entirely. Must be awesome, anyone here have used it before?
Larry Legend is offline   Reply With Quote
Old 03-07-2014, 03:25 AM   #12732
clowntable
Carpal \'Tunnel
 
clowntable's Avatar
 
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 45,562
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

The argument is that...if used right both are useful but if you're exposed to them in the wrong way they do a lot more harm than good.
clowntable is offline   Reply With Quote
Old 03-07-2014, 06:25 AM   #12733
jjshabado
Carpal Tunnel
 
jjshabado's Avatar
 
Join Date: Jul 2006
Posts: 22,544
Quote:
Originally Posted by clowntable View Post
The argument is that...if used right both are useful but if you're exposed to them in the wrong way they do a lot more harm than good.
Ah, gotcha.
jjshabado is offline   Reply With Quote
Old 03-07-2014, 12:28 PM   #12734
Nchabazam
Pooh-Bah
 
Nchabazam's Avatar
 
Join Date: Mar 2008
Posts: 4,827
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I think I realized that I'd rather build cool interfaces using heavy javascript than writing backend code. I definitely used to be more interested in the backend side of things. Just signed a contract to build an app on behalf of my little consulting company. Someone is providing me all the APIs to consume with angular, and I only have to make a small rails app to store some changes/results from the interface.

Looking forward to building this.
Nchabazam is offline   Reply With Quote
Old 03-07-2014, 11:37 PM   #12735
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: La La Land
Posts: 23,148
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by e i pi View Post
you disgusting unethical pig

congrats!
Score +1 for unethical resumes.

Score -1 for ethical resumes.

The data is undeniable: you have a 100% better chance if you lie.

Congrats Grue. Nice work.
daveT is offline   Reply With Quote
Old 03-07-2014, 11:58 PM   #12736
adios
Carpal \'Tunnel
 
Join Date: Sep 2002
Location: Russian Troll
Posts: 21,471
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by candybar View Post
Not following this - what does this have to do with processor architectures evolving? Generally new CPU features and more complex CPU architectures increase the gap between low-level and high-level languages in terms of performance. I guess if you're saying since everything's getting fast enough, performance matters less, I agree of course.

What's going to help dynamic languages perform faster is improvements in compilers, but there haven't really been much of a knowledge breakthrough since the 90's. At this point most of the challenges are in making appropriate trade-offs and managing the staggering complexity that's inherent in applying a long list of optimizations. Don't forget that we had very fast Common Lisp and scheme implementations way back in the 90's and 00's.

I'm guessing that the main reasons that Ruby and Python are so slow are that they have some language features that are inherently optimization-unfriendly (possibly including current C module interface) and that the best people are all working on Javascript/Java/C#/C++ for big bucks or statically typed functional languages for research. To learn to optimize dynamically typed languages, you have to understand the nature of (static) types (as program invariants) at a deep, deep level and people with that background are too enamored with static types to be interested in Ruby and Python.
I believe that processor architectures will simply become, for lack of a better term, higher level. CISC type architectures are implemented via microprogramming, hardware design components like FPGAs have started to incorporate embedded micro processors. I just see the underlying machine language scaling up.
adios is offline   Reply With Quote
Old 03-08-2014, 01:19 AM   #12737
candybar
old hand
 
Join Date: Aug 2011
Posts: 1,958
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by adios View Post
I believe that processor architectures will simply become, for lack of a better term, higher level. CISC type architectures are implemented via microprogramming, hardware design components like FPGAs have started to incorporate embedded micro processors. I just see the underlying machine language scaling up.
Are you thinking like Lisp machines or Java bytecode type instruction sets for actual CPUs? The whole CISC via microprogramming is driven by the exact opposite trend. In the 80's and 90's, people used to care much more about elegant, nice instruction sets that are easier for compiler writers to reason about. Then everyone gave up and now it's only about best-case performance, features, compatibility and battery life, which is why we have instruction sets that are too ugly even for the hardware guys to handle. Also, compiler construction has also become significantly more modularized so compiler writers for high-level languages don't even target CPU instructions anymore, which has killed the pipe dream that all-knowing super-smart compilers for high-level languages can one day write better machine code than C compilers because they have more end-to-end context.

Are we then stuck writing C for performance-critical components forever? I think the best hope we have for allowing high-level programming in that situation is code generation. Languages like OCaml and Haskell are excellent for writing code generators. It's getting to a point where for certain types of software that has complex requirements that are difficult to directly code in low-level languages, but has performance requirements that cannot be met otherwise, the best approach may be to write a program in Haskell or OCaml that generates C source code. We don't have good tools for this approach yet, but it's already been done: http://en.wikipedia.org/wiki/FFTW. The challenge, today, is that you have to know know both languages and have a decent background in compiler-writing/code-generation. With some advanced libraries, this could change, and people may be able to routinely write C libraries in Haskell.
candybar is offline   Reply With Quote
Old 03-08-2014, 10:52 PM   #12738
adios
Carpal \'Tunnel
 
Join Date: Sep 2002
Location: Russian Troll
Posts: 21,471
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by candybar View Post
Are you thinking like Lisp machines or Java bytecode type instruction sets for actual CPUs? The whole CISC via microprogramming is driven by the exact opposite trend. In the 80's and 90's, people used to care much more about elegant, nice instruction sets that are easier for compiler writers to reason about. Then everyone gave up and now it's only about best-case performance, features, compatibility and battery life, which is why we have instruction sets that are too ugly even for the hardware guys to handle. Also, compiler construction has also become significantly more modularized so compiler writers for high-level languages don't even target CPU instructions anymore, which has killed the pipe dream that all-knowing super-smart compilers for high-level languages can one day write better machine code than C compilers because they have more end-to-end context.

Are we then stuck writing C for performance-critical components forever? I think the best hope we have for allowing high-level programming in that situation is code generation. Languages like OCaml and Haskell are excellent for writing code generators. It's getting to a point where for certain types of software that has complex requirements that are difficult to directly code in low-level languages, but has performance requirements that cannot be met otherwise, the best approach may be to write a program in Haskell or OCaml that generates C source code. We don't have good tools for this approach yet, but it's already been done: http://en.wikipedia.org/wiki/FFTW. The challenge, today, is that you have to know know both languages and have a decent background in compiler-writing/code-generation. With some advanced libraries, this could change, and people may be able to routinely write C libraries in Haskell.
Not thinking Lisp machines or byte code machines.

The RISC vs CISC "issues" came about due to studies that indicated that vast majority of processor execution time was spent executing a very small subset of available instructions from the set of available CISC instructions. So, to make a long story short, RISC processors came back into vogue actually in the 80s. I think it is fair to say that today ARM architecture processors are dominant in the RISC processor domain. Yes, generally speaking, RISC has less power consumption than CISC although I can tell you for certain that Intel is sinking a lot of $ into managing power consumption on it's x86 based CISC System on Chips (SoCs) and they are having a great deal of success. ARM based SoCs have also reduced their power consumption a lot at the same time.

The complexity you refer to is driven by two things in my view, overcoming the memory bottle neck and the need/desire for computer systems to handle increasingly complex activities. Caching, branch prediction logic, pipelining, multicore chipsets, ever increasing clock speeds etc. are aimed at achieving those goals. I see those trends continuing for a long time to come.

When I see a complete 4 core 64 bit x86 system, including a high speed graphics engine, on a chip that is the size of my thumb nail I am in awe. I think it is fair to say that in software development managing complexity is a significant challenge. The easier it becomes to manage complexity the better and in my view the continuing and constant evolution of programming languages takes direct aim at making managing complexity easier and will facilitate doing even more complex tasks. I see hardware evolving as well to accommodate the software trends. Exactly how? Not sure but I have to believe that the continuous evolution that we've seen in miniaturization and speed will lead to a scaling up so to speak of the underlying "machine language" to accommodate the evolution of programming languages.
adios is offline   Reply With Quote
Old 03-09-2014, 12:07 AM   #12739
gaming_mouse
Carpal \'Tunnel
 
gaming_mouse's Avatar
 
Join Date: Oct 2004
Location: taking notes on u (see profile)
Posts: 13,782
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

@candybar,

what's your background in? how do you know about all this low-level craziness?
gaming_mouse is offline   Reply With Quote
Old 03-09-2014, 07:42 AM   #12740
clowntable
Carpal \'Tunnel
 
clowntable's Avatar
 
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 45,562
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Since we were talking about CVs recently...anyone with experience "downgrading" their CV? I think after my PhD I could very well see targeting jobs that are very much below my "CV-level" if I decide academia isn't the future.

Maybe I won't need that at all since PhDs are considered useless by many tech companies but I still think I'd get some strange questions if I applied for a junior dev job for example.

Quote:
The complexity you refer to is driven by two things in my view, overcoming the memory bottle neck and the need/desire for computer systems to handle increasingly complex activities. Caching, branch prediction logic, pipelining, multicore chipsets, ever increasing clock speeds etc. are aimed at achieving those goals. I see those trends continuing for a long time to come.
Conversely I think the one "low level" thing every high level programmer should know is how fatal cache misses are. Basically know the typical L1 cache size (currently 32k+32k for i7s iirc) and try to keep your data structures well below that. Cliffnotes version is basically:
1) Do some tests of huge lists that get created during your loops and so forth
2) Iterators FTW :P

Python example (size is in bytes so version one is already >32k)
Code:
>>> sys.getsizeof(range(5000))
40072
>>> sys.getsizeof(xrange(5000))
40

Last edited by clowntable; 03-09-2014 at 07:54 AM.
clowntable is offline   Reply With Quote
Old 03-09-2014, 09:57 AM   #12741
jjshabado
Carpal Tunnel
 
jjshabado's Avatar
 
Join Date: Jul 2006
Posts: 22,544
Quote:
Originally Posted by clowntable View Post
Since we were talking about CVs recently...anyone with experience "downgrading" their CV? I think after my PhD I could very well see targeting jobs that are very much below my "CV-level" if I decide academia isn't the future.
I don't have any experience with this but I think the answer is in how you write your cover letter/goals/whatever. Talk up why you want a 'lower level' job - experience in a particular industry, writing production code, working at high scale, whatever.

I think the other part is to talk up your PhD experience in the best light for the job. Focus on how your research can help the specific company or focus on the 'practical' aspects of your work.
jjshabado is offline   Reply With Quote
Old 03-09-2014, 01:22 PM   #12742
gaming_mouse
Carpal \'Tunnel
 
gaming_mouse's Avatar
 
Join Date: Oct 2004
Location: taking notes on u (see profile)
Posts: 13,782
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

clown,
i think the strategy there is not to undersell yourself, but to find the startup/company that actually values and needs the skills you'd have from the PhD. they certainly exist, it just might make your search harder. also all things being equal (ie, you can demonstrate practical programming skills) i know that a PhD would impress me as someone hiring.
gaming_mouse is offline   Reply With Quote
Old 03-09-2014, 02:14 PM   #12743
kerowo
lolcat
 
kerowo's Avatar
 
Join Date: Nov 2005
Posts: 37,139
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Woot, got HTTParty to work with Cucumber to test our Nginx configuration without knowing a lick of Ruby!
kerowo is offline   Reply With Quote
Old 03-09-2014, 02:28 PM   #12744
well named
poorly undertitled
 
well named's Avatar
 
Join Date: Jun 2007
Location: esse est coesse
Posts: 75,747
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I knew what one of those things was.

No, I knew what two of those things were. Hooray
well named is offline   Reply With Quote
Old 03-09-2014, 03:13 PM   #12745
candybar
old hand
 
Join Date: Aug 2011
Posts: 1,958
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by gaming_mouse View Post
@candybar,

what's your background in? how do you know about all this low-level craziness?
I've been programming for a long time (18 years I think) and when I don't know something, I tend to dig in. A standard undergrad CS curriculum does include a lot of this stuff, even if most people forget the material not long after graduation. My background is fairly typical for a CS graduate turned software engineer though I'm a bigger math nerd than most.
candybar is offline   Reply With Quote
Old 03-09-2014, 03:58 PM   #12746
candybar
old hand
 
Join Date: Aug 2011
Posts: 1,958
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

Quote:
Originally Posted by clowntable View Post
Conversely I think the one "low level" thing every high level programmer should know is how fatal cache misses are. Basically know the typical L1 cache size (currently 32k+32k for i7s iirc) and try to keep your data structures well below that.
Understanding the memory hierarchy is important - see https://gist.github.com/2843375 - but L1 cache misses in particular don't matter for the vast majority of programming work and most programmers will never encounter a problem that they need knowledge of L1 cache to solve. Caches are there so that you don't have to think about them - only worry when there's evidence you need to.
candybar is offline   Reply With Quote
Old 03-09-2014, 05:31 PM   #12747
gaming_mouse
Carpal \'Tunnel
 
gaming_mouse's Avatar
 
Join Date: Oct 2004
Location: taking notes on u (see profile)
Posts: 13,782
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

candybar,

this kind of stuff is a huge blind spot for me. in what class would you learn about it?
gaming_mouse is offline   Reply With Quote
Old 03-09-2014, 08:18 PM   #12748
Shoe Lace
Pooh-Bah
 
Join Date: Sep 2004
Posts: 3,654
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

That gist is a classic. That timing table is thrown around in a lot in various tech talks.
Shoe Lace is offline   Reply With Quote
Old 03-09-2014, 08:42 PM   #12749
jaytorr
centurion
 
Join Date: May 2003
Posts: 127
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

This paper gives a good overview of optimization:
http://www.agner.org/optimize/optimizing_cpp.pdf

This class could also be a starting point:
https://class.coursera.org/hwswinter...ecture/preview

L2 cache misses can be pretty expensive, >100 clock cycles vs <10 for L1/L2 hits. The famed 2+2 evaluator (100+ MB lookup table) is a good example, it performs poorly when looking up random hands because of all the cache misses.
jaytorr is offline   Reply With Quote
Old 03-09-2014, 09:16 PM   #12750
daveT
S.A.G.E. Master
 
daveT's Avatar
 
Join Date: Jun 2005
Location: La La Land
Posts: 23,148
Re: ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

I finally broke 200 on stackoverflow. Yesterday, I was at 195 or so and now I'm at 325.

Those moderators are really bad with their suggested edits. I don't want to link to the edit of the post I made last night, but it was astounding how much someone wanted changed, basically destroying the entire meaning of the post and rewriting code to something I think was bad and not strictly relevant to the question at hand. 3 okays and 1 no, so the post stood as it was, though I did edit some of the language after seeing the suggestions.

Been over 3 weeks since I last coded. Decided to post a bit on SO to get out of my funk a bit. Still feels like my brain isn't communicating with the keyboard very well, but I'm going to give it an honest shot tonight (maybe )
daveT is offline   Reply With Quote

Reply
      

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Forum Jump


All times are GMT -4. The time now is 10:41 AM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2008-2017, Two Plus Two Interactive
 
 
Poker Players - Streaming Live Online