187 karma · joined December 6, 2010
I get that its not quite the smooth experience (yet?) that we want it to be but that we're approaching this previously unbelievable futuristic thing is amazing to me!
Smart Reporting is one of the world’s top startups in digital health. Our mission is to enable AI assisted diagnostics for the benefit of doctors and patients around the world. Already today, our award-winning software is used by thousands of doctors and institutions, including some of the world’s leading experts in radiology.
As a Senior Software Engineer, you will be an essential part of the rapidly growing development team at Smart Reporting. You will bring your entire experience to bear as we strive to build a high performance, high quality cloud-based medical product for AI driven precision medicine.
Smart Reporting is one of the world’s top startups in digital health. Our mission is to enable AI assisted diagnostics for the benefit of doctors and patients around the world. Already today, our award-winning software is used by thousands of doctors and institutions, including some of the world’s leading experts in radiology.
As a Senior React Developer, you will be an essential part of the rapidly growing development team at Smart Reporting. You will bring your entire experience to bear as we strive to build a high performance, high quality cloud-based medical product for AI driven precision medicine.
Apply here: https://www.workable.com/j/18AC657108
Smart Reporting is one of the world’s top startups in digital health. Our mission is to enable AI assisted diagnostics for the benefit of doctors and patients around the world. Already today, our award-winning software is used by thousands of doctors and institutions, including some of the world’s leading experts in radiology.
As a Senior React Developer, you will be an essential part of the rapidly growing development team at Smart Reporting. You will bring your entire experience to bear as we strive to build a high performance, high quality cloud-based medical product for AI driven precision medicine.
Apply here: https://www.workable.com/j/18AC657108
Smart Reporting is one of the world’s top startups in digital health. Our mission is to enable AI assisted diagnostics for the benefit of doctors and patients around the world. Already today, our award-winning software is used by thousands of doctors and institutions, including some of the world’s leading experts in radiology.
As a Senior Fullstack Developer, you will be an essential part of the rapidly growing development team at Smart Reporting. You will bring your entire experience to bear as we strive to build a high performance, high quality cloud-based medical product for AI driven precision medicine.
Apply here: https://www.workable.com/j/51E3108EC5
Smart Reporting is one of the world’s top startups in digital health. Our mission is to enable AI assisted diagnostics for the benefit of doctors and patients around the world. Already today, our award-winning software is used by thousands of doctors and institutions, including some of the world’s leading experts in radiology.
As a Senior Fullstack Developer, you will be an essential part of the rapidly growing development team at Smart Reporting. You will bring your entire experience to bear as we strive to build a high performance, high quality cloud-based medical product for AI driven precision medicine.
Apply here: https://www.workable.com/j/51E3108EC5
Curiously, I think I also get more done now because I feel better, am in a better mood and spend less time anguishing about all the things which are not perfect or could somehow be better. It has also made me aware that many people do find themselves in various hardships and my appreciation for my situation has really grown again through this.
Stop being so hard on yourself and cut yourself some slack - if you're the perfectionist type (like me) it does a lot more harm than good!
[1] http://paulkoerbitz.de/posts/Sum-Types-Visitors-and-the-Expr...
auto res = db(select(foo.name, foo.hasFun)
.from(foo)
.where(foo.id > 17 and foo.name.like("%bar%")));
If you're writing SQL queries in C++ code check it out!Key points:
- When in doubt, leave it out - you can never remove things from an API but always add to it.
- Write several clients of the API to get a good feel how its used. Three is usually enough, one is not.
But in the end I think for most people 'understanding' the concept of monads is just something that is not to be had within a couple of hours. It takes a little bit of patience thinking about them and using them for a while.
I imagine that everyone has to decide specifically where they want to improve and figure out how to work precisely on that, but I would be interested to hear what exactly has worked for you?
[1] http://pcwalton.github.io/blog/2013/06/02/removing-garbage-c...
There's a few more points that I can't go into in detail due to lack of time (reason for use of recursion instead of loops, if / case statements, purity) and I do appreciate the effort and can imagine that it will prove useful but I felt obliged to point out these things. If I can see them it's not a good sign ;)
> myMap func [x] = [func x]
> myMap func (x:xs) = func x:(myMap func xs)
myMap does not deal with the empty list, will throw an exception if it is called with one, and there is no reason for it. (Just replace myMap func [x] = [func x] with myMap func [] = []).
Several functions that throw exceptions on empty lists (head, last) are introduced without any warning (such functions are considered bad style by many Haskellers).
> -- Haskell has a very strong type system, and everything has a type signature.
I believe a 'type signature' is the annotation, and no, not everything in Haskell has a type signature. Everything has a type.
> -- if statements
If is not a statement in Haskell, it is an expression. Same with case 'statements'.
There were quite a few more, see discussion on the Haskell reddit: http://www.reddit.com/r/programming/comments/1h917l/learn_x_...
Not all have been fixed. I love the idea of this, but I think these issues should be addressed before people actually use this to 'learn' Haskell.
Edit: corrections
<--- 8< ---->
Hi, I'm developer of this RSS reader and want to share with you why Haskell is a big win for my project.
First. Haskell is a fast compiled language. Most RSS readers are written in Python, Ruby or PHP. And they're all quite slow or requre a ton of servers to handle the load. With Haskell I'm able to quickly implement complex features and don't think much about performance.
Second. Haskell is very high level and handles concurrency well. It's not a problem to write very generic code or spawn thousands of threads.
Third. There a many good libraries now (much more than 10 years ago ;).
I want to thank Bryan O'Sullivan, Michael Snoyman and all other package authors for their efforts on making Haskell true platform.
I'm especially like text, riak, aeson, http-conduit and warp packages. They're used 24x7 under load and I haven't found any major problems with them.
And few quirks.
Unfortunately not all packages are equal in quality. Many libraries are toys or don't work well under load. But at least there are libraries to take some code from.
Bindings to C libraries (as well as C libs itself) are evil. I've had problems with almost every C package I've tried (curl, regex-pcre, hsdns).
Long-lived ByteStrings can cause memory fragmentation and ten-fold performance drops. So I'm using Text for everything except I/O.
Haskell was missing fast malformed html/xml parser. But it took only a couple of days to write fast-tagsoup package that parses tens of MB/sec.
In general with Haskell I can quickly write high level code that runs fast. And (at least for my project) I'm seeing that most tasks now are CPU bound (due to fast SSDs), not I/O. So compiled yet high-level languages shold gain more popularity now.
If you have some questions about reader implementation details feel free to ask me.
PS: reader is profitable, so I'm thinking it could be counted as a Haskell success story ;)
</--- 8< --->
This statement sounds a little defeatist and gives an excuse for not participating in demonstrations (since the required massive scale is likely not reached, one might be better of not going).
Actually demonstrations, even if they do not effect immediate change, will still have a number of positive outcomes. First, they will likely be reported on in the news (at least that would be the case in Germany), raising awareness. Second, demonstrators will meet like minded individuals with whom they can network and form strategies. Third, demonstrators will realize that they are not isolated and feel more empowered as a result. Last, it will at least remind the public and politicians that some people do care about this.
Is any of this enough to affect change? Likely not. But it is a first step and if we can't even go demonstrate against this then we might as well stop caring. The possibility that demonstrations will not have the immediate effect we desire should not stop us.
Strong correlation between income inequality within nations [1] and a number of measures that measure 'wellbeing of society' (life expectancy, education, crime, health, trust and aggregate measures). Plotting these measures against the GDP per person (richness of nation) shows weak or no correlation.
Bottom line: More unequal societies have more social problems.
[1] ratio between wealth of top 20% and wealth of bottom 20%.
EDIT: economic problems -> social problems in bottom line
I think Paul Graham wrote that any language implementing macros with Lisp-power will effectively have to introduce something that is 'as bad or worse than the parenthesis'. [1] It will be interesting to see how this will play out in Perl6.
However the example given in this article is pretty limited, so I think we can't really tell based on that. It also begs the question 'Why not use a function?', i.e. it is not a case where one needs a macro. It will be interesting to see how Perl6 handles real macro use cases where you have to do heavy AST manipulation. I think here the Lisp syntax is really showing its strengths because you don't have to think in terms of a different representation that you don't have in front of you.
[1] See text after the 1-9 list. http://www.paulgraham.com/icad.html
Edit: Better source for [1].