×

Cannot open xkcd. by benjaminikuta in xkcd

[–]davean 5 points6 points  (0 children)

Your device is probably too old to support TLS 1.2, which Apple only added in iOS versions 5 and higher.

Versions of SSL/TLS have significant security problems, as such versions of TLS earlier than 1.2 are being deprecated widely. As an example, PCI DSS has not considered early versions of TLS to be strong cryptography since v3.1 (April 2015). You are likely to encounter a rapidly raising rate of issues connecting to HTTPS sites without modern TLS support on your client in the near future.

newbie question is newbie (related to gitlib) by Octplane in haskell

[–]davean 1 point2 points  (0 children)

Pretty much any? You're using cabal under stack, only now you have to go through stack to deal with cabal.

In the end you have to deal with cabal though. Why complicate things?

Do functions like length return Int for historical reasons or is there more to it? by jachymb in haskell

[–]davean 1 point2 points  (0 children)

Luckily in practice we get a 64-bit Int. Otherwise a lot of my code wouldn't work. Sadly, that just means I'm writing unsafe code, but its really hard not to given one often can't write a good 'length' one's self.

I wish it was different.

how do you guys get anything done? by ice109 in haskell

[–]davean 0 points1 point  (0 children)

It looks like you've depended on reflex-dom, not reflex. This pulls in a lot of system libraries. In your case, as you can see, it can't find "webkitgtk". You're missing the development headers for GTK it would seem.

On a Debian system you'd "apt-get install libwebkitgtk-dev". (You'd also need likely need cairo, pango, and gtk3 though, as it did hear it'll tell you about which ones you need explicitly)

You might prefer to specify "--ghcjs" to build the non-native version. This will of course require having ghcjs installed.

how do you guys get anything done? by ice109 in haskell

[–]davean 0 points1 point  (0 children)

I just add it to my dependency list and "cabal new-configure && cabal new-build".

HEADS UP: Short hackage downtime today (~30 minutes, 8pm UTC - 2 hours from now) by aseipp in haskell

[–]davean 4 points5 points  (0 children)

The migration is now completed. The old server will continue to forward to the new for some time.

Please report any issue you have with the new hackage server.

how do you guys get anything done? by ice109 in haskell

[–]davean 0 points1 point  (0 children)

I use reflex extensively and have never even considered using the nix packages. (I tried nix a while back and they were doing horrible things to cabal dependencies which caused issues in production I'd specifically set the dependencies to avoid)

styx: A nix-based Haskell project manager (with stack-like interface) by guaraqe in haskell

[–]davean 1 point2 points  (0 children)

I'll look for it, this was over a year ago though. The core problem seemed to be they believed because 'directory' was distributed with GHC it would satisfy for any package that would build with that GHC and there was no reason to package directory from Hackage. This was very specifically an issue with how they viewed GHC distributed packages but sadly GHC distributed packages have issues also.

styx: A nix-based Haskell project manager (with stack-like interface) by guaraqe in haskell

[–]davean 0 points1 point  (0 children)

No, it at least very much did. I specifically said "I must have a version of directory newer then ..." and it selected a version 2 versions older which specifically had the implementation error I was avoiding.

There was a bug filed, and it was a WILLNOTFIX. They were unwilling to have multiple copies of packages even when the currently available packages were broken and they did not fail to build in that cases. It was extremely explicitly done in the Haskell modules configuration file.

styx: A nix-based Haskell project manager (with stack-like interface) by guaraqe in haskell

[–]davean 1 point2 points  (0 children)

How does this get around nix stripping the dependency bounds out of my packages? That is the thing that has always stopped me using nix.

I'd really like to use nix so I'm interested in this but when it converts working packages into ones with silent errors, or ones that can't be built that is a problem. The only solution I've heard is to make your own entire nix package repository and maintain it separately. Does this provide the automation to make that efficient or something?

How can I use Haskell? by [deleted] in haskell

[–]davean 16 points17 points  (0 children)

All computer programs are just calculators. That is all computers do.

Buying in the dead of winter. by Baalphire in sailing

[–]davean 2 points3 points  (0 children)

Among other issues, a surveyor can't verify the laminate condition in below freezing weather. Perhaps a contingent agreement would be the way to go? Then you could have the survey finished in the spring, and do a sea trial.

Of the 10,642 Haskell packages on Hackage, 4,638 use the PVP and 4,255 use SemVer. by joehillen in haskell

[–]davean 0 points1 point  (0 children)

Which is why one should state their methodology when making a claim. Which is a good reason never to use twitter for an actual discussion.

What's the easiest way to sort an array? by AlfonzoKaizerKok in haskell

[–]davean 6 points7 points  (0 children)

What do you think the run time of that is? (hint: that's not really quicksort)

I wouldn't use that if I were you. You can find 'sort' in Data.List of 'base' if you want to sort a list. It'll serve you far better.

Of the 10,642 Haskell packages on Hackage, 4,638 use the PVP and 4,255 use SemVer. by joehillen in haskell

[–]davean 5 points6 points  (0 children)

Choosing to say something that the methodology doesn't back up because of a bias you wish to support can very easily be seen as intellectual dishonesty.

It wouldn't be hard to believe that you'd purposely left out the ambiguity with the intent of supporting your conclusion.

Is that really how you want to be seen?

How important is laziness in practice? by m0d2 in haskell

[–]davean 14 points15 points  (0 children)

Without it, when you combine two algorithms you need to rewrite them both each time. With it you rarely do. I'd say its absolutely crucial to the re-usability Haskell actually sees in practice of its libraries which is far and away unlike any other language I've ever worked with.

Yes, he used a trivial example, but that was just probably for simplicity of explanation. It comes up everywhere.

<stdout>: commitAndReleaseBuffer: invalid argument (invalid character) by SirRockALot1 in haskell

[–]davean 1 point2 points  (0 children)

Just testing this I see nothing like what you refer to. Do you have any idea how the locale is broken?

Do you mean perhaps setting a LANG that the system doesn't have? That's the only type of "broken" locale I can even imagine beyond a completely corrupt file which should give all sorts of issues.

I'll admit I've never even heard of a broken locale before or how one might possibly have that happen.

Haskell's Missing Concurrency Basics by mhhhhm in haskell

[–]davean 8 points9 points  (0 children)

That won't work reliably. Even all POSIX systems or Linux systems. You're going to have to do FAR better to get a reliable definition. POSIX uses PIPE_BUF for the size that can be 'write'ed atomically.

My point, and I'm going to end here, is you really have to consider these things with care you don't seem to be taking. If you're going to write reliable multithreaded systems the edge cases aren't "ridiculous" they're the core of what you're doing.

Haskell's Missing Concurrency Basics by mhhhhm in haskell

[–]davean 2 points3 points  (0 children)

We can't know what the underlying block size is. So if we don't support LineBuffering exactly the result remains similarly defined. Both lead to some unknown interleaving of the outputs. So you can't really rely on the result thus you shouldn't do it this way.

Haskell's Missing Concurrency Basics by mhhhhm in haskell

[–]davean 18 points19 points  (0 children)

Well I'd agree that lazy IO is terrible and should never have been in Haskell. This doesn't do the IO lazily though. It does the IO using a lazily defined value. These are rather different things.

Haskell's Missing Concurrency Basics by mhhhhm in haskell

[–]davean 6 points7 points  (0 children)

That is the C standard which doesn't seem very relevant particularly because it becomes nonsensical (impossible actually) in the face of infinite strings. The POSIX standard seems more authoritative on stdout to me.

And the hPutStrLn form would lead to deadlock.

Haskell's Missing Concurrency Basics by mhhhhm in haskell

[–]davean 14 points15 points  (0 children)

What if the strings passed to printStrLn are infinite?

The current behavior is the expected behavior and it allows progress.

Changing the leap second handling in the time package by AshleyYakeley in haskell

[–]davean 0 points1 point  (0 children)

You just need that file for the history.

But yes, that is the worst format for that file. Maybe you could change it to the NIST one?

Edit: Sorry, I left off a part. For the validity I cross-check with Bulletin C but it would be nice to just use the NIST file which both has validity information and a signature. Though their signature format is sadly deficient.

As I said "I currently track the partiality of the table externally." which is annoying.

Changing the leap second handling in the time package by AshleyYakeley in haskell

[–]davean 0 points1 point  (0 children)

I have a few, the first I try is http://maia.usno.navy.mil/ser7/tai-utc.dat which i cache on the FS. To avoid load on them I have an internal HTTP cache of it. I collected a few backup sources too though.

It gives me a way to get onto TAI when a GPS isn't available to the system.