ishkabible's Profile User Rating: *****

Reputation: 1622 Grandmaster
Group:
Authors
Active Posts:
5,722 (3.1 per day)
Joined:
03-August 09
Profile Views:
86,529
Last Active:
User is offline Aug 09 2014 02:44 PM
Currently:
Offline

Previous Fields

Country:
US
OS Preference:
Windows
Favorite Browser:
Chrome
Favorite Processor:
Intel
Favorite Gaming Platform:
PC
Your Car:
Honda
Dream Kudos:
425

Latest Visitors

Icon   ishkabible 5k posts!

Posts I've Made

  1. In Topic: [link] Donít Be Scared Of Functional Programming

    Posted 4 Jul 2014

    IO seems ad-hoc until you understand monads better. They take too long to understand IMO, it took me a couple of years of programing in Haskell to understand them properly. It really is a brilliant way of maintaining purity.

    also I think you don't really need to relay on IO too much. I think with tools like Parsec that textual file IO is easy. For loading binary data you are probably already using some kind of library to parse the files so that isn't generally an issue.
  2. In Topic: Computer Science Research

    Posted 1 Jul 2014

    It is an extremely broad field of study and tends to overlap heavily with math (as said CS is math), and philosophy (at least if you study programming languages and logic it does). I'm also involved in research this summer. My research is mostly in programming languages with some overlap in machine learning.

    Here is a list

    • Programing Languages: This is a broad and some ill defined field. It deals with the study, creation, implementation, and analysis of programming languages. It has a lot of overlap with formal methods. Logic and proof theory are also studied in programming languages. Lambda calculus is a preferred entry point to most programming languages research. This is my chosen area of research.
    • Formal Methods: This deals with verification and model checking. Ever wonder how people could feel safe writing code for a nuclear facility or a medical device (like a pacemaker)? This is how. You can actually have some very hard proof that your code will never fail with formal methods.
    • Computational Complexity: This deals with analyzing and classifying the computational difficulty of problems. I am blow away by the magnitude of some of the topics in this field. There are people that research complexity classes Far beyond NP (likely the hardest problems you have every encountered are in NP or EXPTIME).
    • Computability: This is a very interesting topic that deals with the notion of "Effective Computability". The grandfather problem here is halting problem. Other topics include mu-recursion, primitive recursion, multiple recursion, truing machines, formal language theory is closely related.
    • Formal language theory and Automata theory: This mostly deals with the study of language and is closly related to computability. Look it up!
    • Algorithims: This is the study and analysis of algorithms. It is closely related to Computational Complexity. Things like Big-Oh and the creation of new algorithms are studied here
    • AI, Machine Learning, and AGI: This deals with getting computers to solve problems that are ill defined where we can really only say "A is the input" and "B is the output". For instance speech recognition the input is set of audio frames with a bunch of volumes for each pitch. The output is text! No one really understands how we convert sound to text but machine learning can still do it! AGI or Artificial General Intelligence is the study of strong AI. This deals with better defined but more general problems.
    • Computational physics: Dogstopper would be a better person to explain this but basically it deals with solving problems in physics with computers. I think Dogstopper once talked about how the place he worked at actually simulated particles flying around for a few hours to determine the radiation caused by different experiments.
    • Computational geometry: Rendering, collision detection, polygon splitting, polyhedron cutting, all of these things often hyper dimensional and much much more. These are a few of a computational geometer's favorite things
    • Scientific and Numerical Computing: This is a more broad field of than Computational physics and is generally concerned with good algorithms for doing specific computations that pop in different scientific and mathematical fields. physics is a major driving forces here
    • Distributed Systems and Big Data: Dealing with super computers and other highly parallel systems is the topic here. Ever wondered how Google does what they do? This is the research area. This is closely related to machine learning.
    • I could keep going on and on. Emended Systems, Operating Systems, Cryptography(A very math oriented field), software engineering, the list is very large.


    Hope this helps!
  3. In Topic: [LUA] Function keeps returning a NIL value

    Posted 22 Mar 2014

    nothing in your code as far as I can see would print anything out
  4. In Topic: What shouldn't most programmers write themselves?

    Posted 19 Mar 2014

    I'd like to iterate "basic algorithms and data structures" from adam's post. While I don't think that you shouldn't do this for the reasons you shouldn't do Crypto it is a very good rule. Smart people spend LOTS of time writing really high quality data structures and algorithms in standard libraries for you; USE THEM. I can almost promise you don't have the time to beat their implementation even if you have the skill.

    I'll go ahead an parrot other things from adams post:
    Anything security critical since even if it is simple you don't want to be the guy that fucks up
    Anything with a complex standard like HTML, or XML, or some complex protocol, or file type etc...
    Date and time stuff is surprisingly tricky. Jon Skeet who some might know from stack overflow has a great talk about why shouldn't do that on your own.

    I'd also add performance critical code like numerical computing, etc..

    The last thing I'll had is concurrency. Don't use it directly because it is a mess of a problem to deal with.
  5. In Topic: 10 Programming Languages You Should Learn

    Posted 19 Mar 2014

    Quote

    Now wait a minute - I thought the benefit was it was natural and more akin to how folks think.. not something I need to go traipse off and learned some nuanced tidbits.


    Eh well ya, it isn't perfect as I have said; I think that it is more natural in many cases (and I think the quicksort mentioned shows that) but knowing why it is also efficient can be very nuanced and often beyond me even though I've been using haskell for a couple years. I've learned a few general rules that make knowing weather something is efficient or not pretty easy. Knowing why things are inefficient in haskell is just as strange. Efficiency tuning is a subject for magical wizards in haskell if you ask me; I've only picked up a small bit of their craft. This is a downside to haskell IMO and if it interferes too much with your application (which I think is unlikely) you should consider using a different language. I don't think I would write a performance critical bit of software like CBLAS in haskell personally; the nuances you mention would creep up on me I fear.

    general rules:

    1) linear running time list functions layered on top of each other don't really cost much of anything as they tend to get fused, mangled in laziness, or optimized away in some fashion. so if you apply two filters and an append to a list it ends up being like you did one very tight single loop though it. While not always true you can pretty safely stack away linear operations assuming that they will be fine and then later fix the efficiency if it is an issue.

    2) Allocation cost very little in haskell and you shouldn't worry too much about it. It also tends to get magically optimized away. An odd topic that I have only started to get my hand around is space leaks in lazy programs. Basically you can sometimes have a space leak sneak up on you because you built up a thunk WAY to big thinking it would be evaluated and it wouldn't be an issue. Haskell provides a means by which to take over its evaluation order to solve this. if you get a space leak switch to foldl' or foldr' where it makes sense and strictly evaluate offending accumulators.

    3) A bit of a combination of the above two and "premature optimization is root of all evil": program like you don't care how only the code takes to run and let the magical compiler do the rest.

    4) attempt as much as possible to use the library implementation of things sense they had experts figure these things out for you. Your code will be more efficient, smaller, cleaner, and not have all these gotchas. I recommend the same thing with STL in C++.

    Some reasons to not use haskell:
    *occasionally complex space and time complexity. This can get you and knowing how to fix it can be non-trivial. Very seldom an issue however
    *You are doing something that id fundamentally array heavy like CBLAS. Use a procedural language instead then that most closely fits your other needs.
    *You are doing something low level. use assembly, C, or C++
    *As it stands I don't think there are very many good GUI libs so if you are doing GUI you might consider something else. I like .NET personally
    *There does not exist a library in haskell that does or is a major part of what you wanted to do. This is frequently an issue for me so I choose a different language.

    Some reasons to use haskell:
    *Your application is tree heavy. Haskell handles trees REALLY well but dosn't handles arrays very well. It is a tradeoff.
    *It is often more natural and easier to do many things in haskell
    *Because of Hackage there is a wealth of libraries easily available so it is very likely that haskell *does* have the library you want or need
    *You are writing a complex input output tool. I think haskell shines at this. Webserver, IRC bot, *nix file tool, etc.. things like you would use python or perl for but bigger than a little script for your personal use.

My Information

Member Title:
spelling expret
Age:
20 years old
Birthday:
September 8, 1993
Gender:
Location:
Marion Ks
Interests:
making and playing video games, language design, IRC bots, C++ templates, learning new languages
Forum Leader:
C++, Assembly
Full Name:
Jake Ehrlich
Years Programming:
4
Programming Languages:
Experienced: C/C++, Lua
Ok: D, Java, Haskell, Python, x86 assembly
Learning: PHP

Contact Information

E-mail:
Private
Website URL:
Website URL  http://

Comments

  • (6 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »
  1. Photo

    Martyr2 Icon

    22 Aug 2013 - 10:26
    Just wanted to thank you for my 4000th rep vote back on Aug 12th. Appreciate it!
  2. Photo

    Precise Icon

    18 May 2013 - 13:32
    Hello I would like to speak to you about something important. About a game. email me at bballq12@gmail.com. I dont know how else to get in contact with you. Thanks.
  3. Photo

    Xupicor Icon

    24 Nov 2012 - 01:19
    No witty rep meaning at the moment. Though 1415 AD was memorable, that's the year Jan Hus (John Huss) was burned, an event which pushed his followers (later known as Hussites) to fight. Hussite Wars were a bloody period, but mighty interesting. ;)
  4. Photo

    Xupicor Icon

    21 Nov 2012 - 13:24
    Now your rep says you're "lala" :P That could mean "a doll" where I'm from. Yes, it has more than meaning here too... ;)
    So, how's it going, doll? ;p
  5. Photo

    ishkabible Icon

    10 Sep 2012 - 10:42
    Hey, my rep says I'm 'leet'
  6. Photo

    BenignDesign Icon

    07 Jul 2012 - 05:18
    spelling expret works too!
  7. Photo

    BenignDesign Icon

    06 Jul 2012 - 18:48
    Then I would go legitimately subtle... like "speling expert" or "spelling export" .... drop or change ONE letter... hence, subtle.
  8. Photo

    BenignDesign Icon

    05 Jul 2012 - 10:31
    I don't remember what it said in the first place.
  9. Photo

    BenignDesign Icon

    01 Jul 2012 - 21:15
    Not nearly subtle enough.
  10. Photo

    ishkabible Icon

    30 Jun 2012 - 21:20
    perhaps...it has to be subtle enough though
  11. Photo

    BenignDesign Icon

    30 Jun 2012 - 16:23
    Your title would be WAY funnier if there was a spelling error in it.
  12. Photo

    hulla Icon

    11 Mar 2012 - 08:45
    1K rep :)
  13. Photo

    r.stiltskin Icon

    04 Dec 2011 - 20:19
    Been busy.
  14. Photo

    hulla Icon

    21 Nov 2011 - 08:23
    What's an esoteric hack? O.O
    What's a purely functional programming language? I've never used one before but they sound interesting . . .
  15. Photo

    ishkabible Icon

    22 Oct 2011 - 20:02
    im a "master" now!!
  • (6 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »