The message images themselves are extremely compelling. I saw the first one in the book Beyond Contact by Brian McConnell:
I didn't think much of the rest of the book, but the image was arresting. After staring at it for a while, and convincing myself I understood the basic idea, I found the full set of images on Mike Matessa's web site, printed them out, and spent a happy couple of hours at the kitchen table deciphering them.
Sometimes when I gave conference talks, I would put this image on the screen during break, to give people something to think about before the class started up again. I like to say that it's fun to see if you're as smart as an alien, or at least if as smart as the Canadian astrophysicists thought the aliens would be.
I invite you to try to understand what is going on in the first image, above. In a day or two I will post a full explanation, along with the second image. Over the next few weeks I hope to write a series of blog articles about the 23 pages, explaining the details of each.
Today I had a discussion with a coworker about exceptions vs monads for error handling. One of the main things he talked about was that he prefers exceptions, and try catch blocks to monads because he wants to know the specific line number of when something failed.
So if you have a long chain of functions that operate on a Maybe value how can you know what function turned it into a Nothing?
I told him that in my experience I have never really needed to know the line number where something turned into a Nothing. I could know where to start debugging by the types, tests, input, or some other context. Any specific example I showed him was too simple and he wanted to know about when it is a large and complicated code base. So since I could not really answer his question based on my experience, and he made me a little curious, I want to know what you guys think.
So how does one go about debugging their monadic code?
Is it important to people to know the exact line number in the code when a value turned into a Nothing?
Has anyone run into debugging problems that are worse because you were using monads instead of exceptions?submitted by whitehead1415
[link] [6 comments]
We are currently seeking software engineers/researchers to play a pivotal role in fulfilling our mission to make critical systems trustworthy.
Galois engineers participate in one or more projects concurrently, and specific roles vary greatly according to skills, interests, and company needs. Your role may include technology research and development, requirements gathering, implementation, testing, formal verification, infrastructure development, project leadership, and/or supporting new business development.
Skills & Requirements
- Education: Minimum of a Bachelor’s degree in computer science or equivalent. MS or PhD in CS or a related field desirable but optional, depending on specific role.
- Required Technical Expertise: Must have hands-on experience developing software and/or performing computer science research. Demonstrated expertise in aspects of software development mentioned above.
- Required General Skills: Must work well with customers, including building rapport, identifying needs, and communicating with strong written, verbal, and presentation skills. Must be highly motivated and able to self-manage to deadlines and quality goals.
Our engineers use tools such as functional programming languages (including Haskell) and formal verification techniques to design and develop advanced technologies for safety- and security-critical systems, networks, and applications. Our research areas include computer security, cyber physical systems, identity management, security risk analysis, machine learning, systems software, and networking. Engineers work in small team settings and must successfully interact with clients, partners, and other employees in a highly cooperative, collaborative, and intellectually challenging environment.
We’re looking for people who can invent, learn, think, and inspire. We reward creativity and thrive on collaboration. If you are interested, please send your cover letter and resume.
Get information on how to apply for this position.
It would be very helpful if one would typehelp(Integer)
And the haddock information are obtained directly. I'm not talking about search using hoogle and hayoo, it's rather a help about loaded library and data in the ghci (ala python interpreter).submitted by BanX
[link] [12 comments]
Do we have a decent URL library, which does not confuse URL with the more general URI, like "uri" and "network-uri" do, and does not revolve around String?submitted by nikita-volkov
[link] [24 comments]
Recently Michael Snoyman asked for help with maintaining Stackage. Dan Burton, Adam Bergmark, and I volunteered and we have been helping maintain it now for the last 3 weeks: I think it is going pretty well.
"Heads-up, we're going to bump to LTS 3.0, so if you wanted to break any APIs, last chance for LTS for 3-6 months." — Michael
Today Stackage Nightly moved from ghc-7.10.1 to 7.10.2, and we are excited to announce that we are planning to bump LTS Haskell to 3.0 hopefully by the start of next week based on current Nightly. So this week now is really the last chance for any breaking API changes for lts-3. From this point on then lts-2 will basically be frozen (like lts-1 is now) unless some exceptional updates should be needed.
This will be the first ghc version change for LTS Haskell (which is still on ghc-7.8.4) so it feels like an important milestone for LTS Haskell and Stackage.
I am trying to read org file using function readOrg from Text.Pandoc.Readers.Org. The problem is that I don't want it to include the org file header (or how is it properly called?). I mean, that I don't want the result to contain following information:#+TITLE: The Title #+AUTHOR: Author #+EMAIL: Email #+DATE: <2015-08-06> #+STARTUP: showeverything #+OPTIONS: a bunch of options ...
I tried to look at ReaderOptions but it doesn't look relevant (they are common options). I looked through the source code, but I couldn't find anything helpful. Looks like it's not possible to achieve out of box. However I might miss something, that's why I am here.
The only solution I came to is dropping first lines of file that starts with #+.submitted by deadmaya
[link] [1 comment]