Profile

Cover photo
Mauricio Scheffer
Lived in buenos aires
259 followers|196,143 views
AboutPostsPhotosVideos

Stream

Mauricio Scheffer

Shared publicly  - 
 
Can't say I have the same reaction. "Duplication is far cheaper than the wrong abstraction" ( https://twitter.com/BonzoESC/status/442003113910603776/photo/1 ), and frameworks too often implement wrong abstractions while also making it really hard to escape them.
If the legacy code hasn't been developed with a framework, it's usually light on (enforced) abstractions which means I can plug in my own fairly easily as needed.

http://thecodinglove.com/post/88466761936/when-i-have-to-work-on-legacy-code-which-has-not-been
1
Add a comment...

Mauricio Scheffer

Shared publicly  - 
 
TIL apparently you can't move a 100-year-old piano with ivory keys into the USA, but you can bring in two elephant heads per year.
WTF.

http://www.squarepianotech.com/?page_id=320
1
Add a comment...

Mauricio Scheffer

Shared publicly  - 
 
 
Immutable Sasa.Collections.Tree vs. System.Collections.Dictionary vs. C5 HashDictionary
I've previously posted about Sasa's hash-array mapped trie, but I never posted any benchmarks. I recently came across this post on Stackoverflow which provided a decent basic benchmark between .NET's default Dictionary<TKey, TValue>, the C5 collection's hash...
I've prevously posted about Sasa's hash-array mapped trie, but I never posted any benchmarks. I recently came across this post on Stackoverflow which provided a decent basic benchmark between .NET's default Dictionary<TKey, T...
1
Add a comment...

Mauricio Scheffer

Shared publicly  - 
 
On Github:
headinthebox created repository LiftedRxNetImplementation  6 days ago
Click
404 This is not the webpage you are looking for.
1
Mauricio Scheffer's profile photo
 
But he just created a new repository: "Lift-based Rx implementation in JavaScript" https://github.com/Applied-Duality/RxJsX
I wonder what he means by "lifted" in this context.
Add a comment...

Mauricio Scheffer

Shared publicly  - 
 
Commenter confuses Turbo C/C++ with a BSOD. I feel so old.
Cool vid BTW :-) (via http://neildanson.wordpress.com/2014/03/04/it-just-works/ )

Bret Hart knows why your program doesn't work
4
Add a comment...

Mauricio Scheffer

commented on a post on Blogger.
Shared publicly  - 
 
Take a look at FSharpx ( http://fsharp.github.io/fsharpx/ ), it has many adapters to use F# types in C#, like FSharpOption. For a few examples see http://bugsquash.blogspot.com/2011/10/10-reasons-to-use-f-runtime-in-your-c.html
1
Christian Horsdal Gammelgaard's profile photo
 
That looks like a neat library. Thanks for the pointer.
Add a comment...
Have him in circles
259 people
Simon Cousins's profile photo
Neil Carrier's profile photo
Gabriel Claramunt's profile photo
Hanneli Tavante's profile photo
Joel Mueller's profile photo
Alexander Mumme's profile photo
 
"Haskell excels in situations where program correctness needs to be ensured" says this article : http://arstechnica.com/science/2014/05/scientific-computings-future-can-any-coding-language-top-a-1950s-behemoth/

I see this often and always ask myself: where are the programs where correctness doesn't need to be ensured? I still haven't found them.

I'm mainly a regular web developer (which some people say are not even real programmers, whatever that means), and in my job I'm constantly thinking about purity, totality, composability as a means for correctness and maintainability.
Cutting-edge research still universally involves Fortran; a trio of challengers wants in.
1
Sandro Magi's profile photo
 
Pretty much the only domain where correctness takes a real back seat is rapid prototyping while exploring a poorly understood problem domain. I'm honestly not at all sold that programming is what you need to explore such a domain though. Sounds like books, a pencil and paper, and some time to think would serve you better.
Add a comment...

Mauricio Scheffer

Shared publicly  - 
 
Strachey introduced ad-hoc vs parametric polymorphism in 1967 ( http://www.itu.dk/courses/BPRD/E2009/fundamental-1967.pdf ).
Every day at work I see code unnecessarily broken because the programmer didn't know about this, or the importance of it.
I went to university, yet I only learned about it much later through Haskell, just a couple of years ago.
Information is so easy to access today, but we still need education to make sense of it, and education is failing hard to curate and explain it.
6
2
Denys Goff's profile photoAnton Tayanovskyy's profile photoYusuf Motara's profile photoMauricio Scheffer's profile photo
4 comments
 
Thanks for that perspective, Yusuf. As usual, there's a huge chasm between the perceived results of a complex civilization construct like "formal education" and the myriad of causes that inform  those results.
I'm not sure that CS educators not spending time in industry is a problem, at least in my country most of the professors work also as consultants because salaries in education here are appalling. The real problem is that apparently they're not spending time in academia. Even if they can't teach some subject due to internal politics or not being in the curriculum, they can't simply ignore these fundamental concepts.
Also it's not about teaching what they've been teaching for the last 20 years. Some of the concepts I'm referring to are much older than that, so maybe 20 years ago they could have been teaching about ad-hoc vs parametric polymorphism. What really bothers me is that educators should be learning ten times more than I am, because it's their job to do so in order to prepare the curriculum. And with easy access to information today, they have no excuse not to do so.
I realize I'm probably overgeneralizing here. I did have a lot of good professors in university (not many in CS though).
Add a comment...
 
'One of the goals of the Haskell commitee was to adopt "off the shelf" solutions to problems wherever possible.'
-- Philip Wadler, "How to make ad-hoc polymorphism less ad-hoc".

http://homepages.inf.ed.ac.uk/wadler/topics/type-classes.html
2
1
Sandro Magi's profile photoDenys Goff's profile photoMauricio Scheffer's profile photo
2 comments
 
The more interesting paper to me is "A second look at overloading". I had never seen it before, and it's definitely an interesting approach. Solves a few problems that are still an issue in Haskell.
Add a comment...
 
"Google most often pays just gimmick-attention to users' feedback, never really read their bug reports or suggestions, often closes or even deletes the forum threads involved (thus following the same path as Microsoft, and eventually the same fate)."

http://superuser.com/questions/623505/turn-on-the-link-hover-statusbar-in-google-chrome
1
Add a comment...

Mauricio Scheffer

Shared publicly  - 
 
"Making bottom a value is just sophistry to hide the fact
that looping and match failure are pretty bad side-effects available
within an allegedly pure language"

http://www.haskell.org/pipermail/haskell-cafe/2003-May/004343.html
2
Add a comment...

Mauricio Scheffer

Shared publicly  - 
 
"People [measure] 'boilerplate' or 'code quality' in number of chars rather than number of concepts, duplication of concepts, and how does it help you reason about code."

https://groups.google.com/d/msg/scalaz/0kx8U2F82wE/7khYE0A_b4QJ
1
Add a comment...
People
Have him in circles
259 people
Simon Cousins's profile photo
Neil Carrier's profile photo
Gabriel Claramunt's profile photo
Hanneli Tavante's profile photo
Joel Mueller's profile photo
Alexander Mumme's profile photo
Work
Occupation
Programmer
Basic Information
Gender
Male
Story
Introduction
I like banging on keyboards, computer and piano.
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Previously
buenos aires