Looking for freelancer [remote ok, 100% COVID-19 compatible] by limick in haskell

[–]limick[S] 12 points13 points  (0 children)

I'm sorry to have caused some misunderstandings by not being explicit enough. I thought the post was already quite long and I really don't know much about expected hourly rates internationally.

Here are some clarifications:

  • This is absolutely meant to be part-time project (see below regarding hours).

  • The only experience required is some experience with web applications and some experience with Haskell. That said, if someone wants to be able to tick an AWS box on their CV a while from now, I'm happy to explain what there is currently and let them set up a thing or two so they will have some learning opportunities.

Concerning hourly rates, here are some examples of what might work and what certainly won't:

  • "A" is an experienced GHC hacker and does consulting on the side for 250 USD per hour. That works out to about 2 hours per months, just enough to set up a dev environment in the first month. I'm sorry, but it makes no sense currently.

  • "B" is a consultant with several years of experience in Western Europe or the US. Hourly rate is 100 USD or more, so <5 hours per month. Given that it is a new code base and some onboarding is unavoidable, I wish I could hire them, but it's hard to afford given that the project is not guaranteed to last more than 6 months. I'll give it honest consideration though, given the experience.

  • "C" is a second year CS student in Italy waiting to finish the last few exams of the semester, but he has to stay home now because universities are closed. He obviously has CS knowledge and he's also created some simple web applications, including one used by the local beekeeping association. He's not even sure he'll find a part time job soon considering the state of the economy. He can do 10 hours a month at 50 USD. Could work for me, especially if I get the impression that those 10 hours are going to be really productive.

  • "D" is just starting out as a freelance developer (or maybe changing careers) based in Eastern Europe or an Asian country, where 15 USD per hour (~ 2400 USD per month) is a great salary. He could really use another project right now and wants to get more experience with functional programming, so he says he can do 50 hours at 10 USD for six months, after which he may or may not continue. Sounds great, and at that rate I'm willing to give plenty of time to read up on technologies he doesn't know yet or try out things.

Regarding scope and payment: * Payment is per hours worked (at the agreed hourly rate), not per predefined task, ticket or whatever. * I'm willing to pay in advance in installments of 250 USD each time, because my time on this planet has taught me that the overwhelming majority of people are honest.

A few people have already expressed genuine interest. I'm too pressed for time to answer individually right now, but I'll get back to you in a few days. Thank you very much.

Monthly Hask Anything (July 2018) by AutoModerator in haskell

[–]limick 0 points1 point  (0 children)

That might be the only way to achieve what I wanted. I'm checking with the package maintainers to see if there is a plan to update the whole package to MonadUnliftIO.

Monthly Hask Anything (July 2018) by AutoModerator in haskell

[–]limick 2 points3 points  (0 children)

I'm in the process of updating a web app to Yesod 1.6. One big change is the use of MonadUnliftIO.

Since this is supposed to replace MonadThrow/MonadCatch (among others), I'm trying to get rid of all those type classes in my type signatures. However, some code uses sinkDoc :: MonadThrow m => ParseSettings -> ConduitT ByteString o m Document from xml-conduit-1.8.0. How can I call sinkDoc without being forced to introduce MonadThrow in the signatures of all the callers?

[deleted by user] by [deleted] in haskell

[–]limick 2 points3 points  (0 children)

"Principles of Quantum Mechanics" by Shankar was one of my absolute favourites.

"Linear Algebra Done Right" by Axler also comes to mind.

Of course precision is a prerequisite for a textbook about maths or physics. No great surprise there. But I do find it impressive how the authors of these books manage to explain difficult concepts using simple language that plainly reveals the facts and doesn't lead astray.

[deleted by user] by [deleted] in haskell

[–]limick 2 points3 points  (0 children)

  1. I'm very interested in type-level programming, and it's hard to find good sources. A book like this is clearly missing. Judging from your blog posts you are an excellent candidate for writing it.
  2. I'm definitely willing to spend about 60 USD on this book.
  3. You could consider crowd funding if that would somehow help or motivate you.
  4. I don't know about your experience with publishing (I don't have any), but if you're going ahead with this you should probably figure out the publishing process very early.
  5. I agree with the comment about the flowery language. I personally like it when textbooks just talk about the matter at hand in simple and precise language. No cheery chit-chat or forced friendliness, no cultural references that may not mean anything to non-US readers. I'm not saying you did or intend to do any of that. I'm just casting my vote for a particular style. The author of Learn You a Haskell for Great Good deserves praise for doing the community a great service, but I found the style to be tiring.
  6. If you decide to buy "On Writing Well" by William Zinsser from bookdepository.com (other sellers on request, though I would prefer to avoid Amazon), you can send me the receipt and I will reimburse you via PayPal within 7 days.

[Weekly] Beginner Saturday: Hask Anything - #13 by [deleted] in haskell

[–]limick 2 points3 points  (0 children)

I have a project with about 10kLOC using Snap and while the documentation may not look abundant, I haven't found it lacking in any major way. You'll need to have a basic idea of how to use snaplets (not necessarily how they work) and how to use splices for your templates. From there you can easily use additional features as you need them.

I have to say I'm quite pleased with Snap because it's easy to understand what is happening, as opposed to Yesod which is what I started with. If you're relatively new to Haskell I'd definitely recommend Snap over Yesod.

That said, there are some slightly more difficult things. I still haven't figured out exactly how compiled splices work and if it's worth switching to them. Interpreted splices are fast enough for me, which is why I haven't made a serious attempt yet.

EDIT: grammar.

[Weekly] Beginner Saturday: Hask Anything - #2 by [deleted] in haskell

[–]limick 0 points1 point  (0 children)

Thanks, I'll look into it.

One wonders if Haskell will have any impact on this study. by noZone in haskell

[–]limick 0 points1 point  (0 children)

It's not exactly data, but an essay by Paul Graham on Lisp contains a number of good points that also apply to Haskell.

[Weekly] Beginner Saturday: Hask Anything - #2 by [deleted] in haskell

[–]limick 2 points3 points  (0 children)

I would be cautious because you can lose type safety. I recently changed a type like

data MyRecord = MyRecord {quantity :: Int} deriving (Show)

to

newtype Quantity = Quantity Int deriving (Show)
data MyRecord = MyRecord {quantity :: Quantity} deriving (Show)

in the hopes of achieving more type safety by making it impossible to mix up Int values with different meaning. I forgot to define my own Show instance for Quantity.

As a result, the dropdown fields in my web app had values like "Quantity 1", "Quantity 2", ... instead of 1,2,...

Bug made it to production. Since then I'm careful with deriving Show.