We are looking for exceptional functional developers to join our product research and development team. It's a full stack job that requires more than anything a passion for learning and experimenting with new technologies, creating prototypes and dealing with a few million data points every day. You will be working on any technology between Linux shell scripts, high performance Web servers and beautiful UIs.
We tweak our advertising and targeting algorithms multiple times a day and you should be able to reason about, program, discover and propose new ways of improving our result.
You will be building ad servers for serving interactive mobile ads as well as realtime data analysis of the traffic; you will be tinkering with the algorithms and assisting product designers and data analysts by developing data visualization tools for UX and performance reports.Who we are looking for?
- Familiarity with functional programming languages including but not limited to Haskell, Clojure, F#, OCaml.
- We know LiveScript is not the most popular language in the world, but we like its functional style and we use it all the time, if you're applying for this job, go and check it out: http://livescript.net
- Experience with R, Mathematica, and similar software
- Familiar with data analysis, machine learning software, MapReduce, Hadoop and related concepts and big data technologies.
- Good UI skills with Underscore.js, d3 and React.
- Some math
- Practical knowledge in using Git.
Mobitrans, started in 2006 and is the global leader in mobile learning and entertainment services. We are active in 38 countries. Head quartered in Dubai Media City, we have an international and diverse team, creating and marketing our products to millions of users every day.Our offer
- We offer a very competitive salary.
- World-class healthcare package.
- Complementary gym membership.
- Flexible working hours.
- Opportunities for career progression within the company.
- 365 days of sunshine!
- Amazing office location with stunning views of the famous Palm Jumeirah.
This position is open for worldwide candidates and in case of relocation we will assist you ensuring a smooth transition to working and living in the beautiful city of Dubai.
Get information on how to apply for this position.
- The Darcs 2.10 release is near! Please test the release branch and tell us if you find a bug.
- Joachim Breitner has shut down his darcswatch service after 7 years of activity:
- issue822 Ernesto Rodriguez
- Generalized the IO Type for better error messages and exception handling
- issue2260 Ganesh Sittampalam
- skip internal patches when counting
- issue2385 Guillaume Hoffmann
- invoke pager without temporary file
- issue2410 Guillaume Hoffmann
- detect replaces even with tokens of different lengths
- issue2411 Guillaume Hoffmann
- ignore swap moves with --look-for-moves
- issue2414 Guillaume Hoffmann
- use parseFlags instead of toMatchFlags where needed
- issue2418 Guillaume Hoffmann
- add and check on-disk patch index version
- issue2422 Ganesh Sittampalam
- drop unneeded LambdaCase extension
- issue2427 Ben Franksen
- start conversion from intermediate tree state
- issue2431 Ben Franksen
- rollback Control.Monad.Catch generalizations
- issue2432 Ganesh Sittampalam
- use the merged version of the local patches
- issue2437 Guillaume Hoffmann
- fix cloning to ssh by forgetting source repo later
I'm creating this engine for a university project in my final year. It's the only module I've got left, and it lasts for about 3 months. I'm about 7 weeks in to it and have made some ok-ish progress.
Before this, I had never touched Haskell or any other functional languages, so it's not going to be a groundbreaking engine.
I've adopted a gloss-style approach to rendering but in 3D. I handle some primitives such as cubes/spheres/cylinders/etc. I also handle translation/rotation/camera/lighting/compiled nodes.
For rotation, I've used quaternions so as to avoid gimble lock. For camera, I've used gluLookAt and gluPerspective with properties being able to set in another data structure. For lighting, I've simply gone for position, ambience and diffuse for the moment to keep it simple. And for compiled nodes, I've given the option to compile the drawable (Equivalent of picture in gloss) using a DisplayList and then call it back when it comes to drawing it. All fairly basic stuff.
This is all done in direct mode, but the bulk of this needs to handle shaders as that's where the future is in graphics. I've not that much experience with shaders even in C++. So I was wondering if you guys could help me to approach them in Haskell. Essentially just what should I do to get the basics down, how do you think I should handle it in the same style as I've done my other stuff (Using scene graphs), and how else can I future-proof my library?
I know it would make sense to post the source, and I will put it on Hackage when it's done, but it's not really in -that- usable of a state at the moment.
I imagine I've not really made it clear what I need help on, but please do ask me to clarify something, I'd really like to get some expertise on this! I'll post again soon-ish with a demo of the library in a hopefully more usable state!
Thank you very much for helping!
Edit: Thank you all very much for helping me and giving me advice, I really do appreciate how nice the community is! Hopefully I can output something that's not just for a uni project and may actually be of some use to any of you guys!submitted by Navajubble
[link] [28 comments]
it is my pleasure to announce that the registration for ZuriHac 2015  is open now.
If you want to participate in this year's Haskell Hackathon in Zurich, please fill out this form .
Make sure to wait for a confirmation email afterwards before booking. The event can only host around 90 participants. We will confirm registrations at a first come first served basis.
Please spread the word!
Hope to see you soon!
It's that time again! Today GHC HQ met on a Tuesday to avoid some scheduling conflicts, and that means it's time to send some news to people.
Just a quick reminder from last week: we're hoping to make our third GHC 7.10.1 release candidate on Friday, March 13th, with the final release on Friday, March 27th.
Today, GHC HQ met up and mostly discussed the current status of GHC 7.10 and its bugs, which you can find on the Status page: https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.10.1
But we've also had a little more list activity this week than we did before:
- Simon PJ showed up to tell everyone he'd be a bit busy due to upcoming ICFP deadlines! However, since it's passed as of last Friday, it looks like the coming weeks will be more normal. https://mail.haskell.org/pipermail/ghc-devs/2015-February/008420.html
- Michael Snoyman started a thread about a serious bug that has eluded attention during the 7.10 RC period: cabal haddock --hoogle does not work! https://mail.haskell.org/pipermail/ghc-devs/2015-February/008412.html
- Jan Bracker is working on using the new type-checking plugins infrastructure, and had a question about the usage of what the typechecker calls EvTerms. Adam swooped in to respond. https://mail.haskell.org/pipermail/ghc-devs/2015-February/008414.html
- Ben Gamari has been working on #9661, but while trying to do so hit a very painful set of conditions due to the import dependency graph of the compiler, making his fix much more difficult. Simon responds with his thoughts. https://mail.haskell.org/pipermail/ghc-devs/2015-March/008432.html
- After returning from an ICFP-writing-induced hiatus, Simon alerted us to a new paper of his describing his new, GADT-aware pattern matching checker. As usual, he'd love comments! The implementation will hopefully land in HEAD soon. https://mail.haskell.org/pipermail/ghc-devs/2015-March/008437.html
- Nikita Karetnikov was kind enough to alert the list that he's gotten a nice, Nix/NixOS based solution to building GHC, which he's documented on the wiki. https://mail.haskell.org/pipermail/ghc-devs/2015-March/008445.html
Some noteworthy commits that went into ghc.git in the past week include:
- Commit aead01902e1c41e85b758dbafd15e60d08956374 - the -fwarn-unused-binds warning was split into 3 warnings, fixing #17 (one of our oldest open tickets).
- Commit 5be8ed4da1963ed2d45a65fb61d761c977707cce - restores integer-gmp compatibility with GMP 4.x. This will be part of GHC 7.10.
- Commit 31d4f2e9c89e22a91f98b4a4aa0f80af6b07b60f - make test in the top-level directory now works as expected.
- Commit 5200bdeb26c5ec98739b14b10fc8907296bceeb9 - Replace Windows SEH handlers with VEH handlers, working uniformly across x86 and x86_64.
Closed tickets the past week include: #9586, #10122, #10026, #8896, #10090, #10123, #10128, #10025, #10024, #10125, #9994, #9962, #10103, #10112, #10122, #9901, #10130, #10129, #9044, #8342, #8780, #10003, #17, #2530, #8274, and #10107.
I had an interesting idea, but I'm too much of a newbie to actually write it myself. I was wondering if there was a way to take in a function and determine if it's tail recursive. I feel like you'd have to do some really low level stuff to tell if the call is added to the stack or heap, but I don't know. Has anyone ever attempted this?submitted by gin-writ
[link] [3 comments]
Senior full-stack functional web engineer to join fast-growing education startup that changes how over a million young students learn math.TL;DR - Reasons to care about working with Front Row
- Our mission is important to us, and we want it to be important to you as well: hundreds of thousands of kids learn math using Front Row every month. Our early results show students improve twice as much while using Front Row than their peers who aren’t using the program.
- You’ll be one of the first engineers on the team, which means you’ll have an immense impact on our company, product, and culture; you’ll have a ton of autonomy; and you’ll have equity to match the weight of this role
- A lot of flexibility: while we all work towards the same goals, you’ll have a lot of autonomy in what you work on, you can work from home up to one day a week, and we have a very flexible unlimited vacation days policy
- You’ll use the most effective tools in the industry: Haskell, Postgres, Backbone.js, Ansible and more. Front Row is one of the very few organizations in the world that use Haskell in production for most of their systems and is an active member of the Haskell community.
- In addition to doing good, we’re doing really well: in just over a year after launch, we are in more than 20% of all US elementary & middle schools.
Millions of teachers around the USA are struggling to help 30+ students in their class learn math because every student is in their own place. In a typical fourth grade classroom, there may be students learning to count, students learning to add, students learning to multiply, and students learning how exponents work - and one teacher somehow needs to address all these needs.
Front Row makes that impossible task possible, and as of today, more than a hundred thousand students use Front Row to receive personalized guidance in their learning. Thousands of teachers use Front Row every day to save hours of time and make sure their students are growing at the fastest rate achievable. Front Row active users have been growing over 25% a month for the past 6 months.
Front Row is successfully venture-funded and on the road to profitability.The Role
As one of our very first engineers, you will be part of a team of developers who are passionate about their vocation, take pride in their craft and who push each other to grow as professionals. You will strive for pragmatism and 80/20 in your work. You will be using tools that make you most effective. By working really smart, you will produce more than the average developer ever will, but without the crazy hours.
We love generalists who can quickly bring themselves up to speed with any technology we’re using: you will have the chance to learn a lot, and fast too. You will receive continuous support and mentorship on your journey to achieving mastery. We do however expect you not to need to be hand-held and rely on others for your own growth. You will have full autonomy over your work.
You will work in an effective team that plans, executes and reflects together. Because we’re a small team, everything you create will go into production and be used by students. You will never do unimportant work: every contribution will make a clear and tangible impact on the company’s trajectory. Your personal success will be directly aligned with that of the company.
Most importantly, your work will have purpose: Front Row is a mission-driven company that takes pride in making a significant impact in the lives of hundreds of thousands of students.Tools
- Front Row is a polyglot combination of multiple web applications, mobile apps and asset generation tools.
- Web front-ends are a custom version of Backbone.js + plugins.
- The backend is a series of Haskell+Yesod-based applications talking to PostgreSQL and 3rd party services.
- All test, build and deployment automation relies on Ansible. AWS for hosting.
- We have mobile apps for both iOS and Android
- Work is continuously happening to simplify and minimize the codebases.
- You have experience doing full-stack web development. You understand HTTP, networking, databases and the world of distributed systems.
- You have functional programming experience.
- Extreme hustle: you’ll be solving a lot of problems you haven’t faced before without the resources and the support of a giant organization. You must thrive on getting things done, whatever the cost.
- You have familiarity with a functional stack (Haskell / Clojure / Scala / OCaml etc)
- You're comfortable with the Behavior-Driven Development style
- You have worked at a very small startup before: you thrive on having a lot of responsibility and little oversight
- You have worked in small and effective Agile/XP teams before
- You have delivered working software to large numbers of users before
- You have familiarity with system and network administration
- Competitive salary
- Generous equity option grants
- Medical, Dental, and Vision
- Lunch is on us three times a week, and half-day event every month (trip to Sonoma, BBQ, etc)
- Equipment budget
- Flexible work schedule
- Flexible, untracked vacation day policy
- Working from downtown SF, very accessible location
It's an unfortunate reality that students from less affluent families perform worse in school than students from wealthier families. Part of this reason has to do with home environment and absentee parents, but much of it has to do with inferior resources and less experienced teachers. The worst part of this problem is that if a student falls behind in any grade, they will forever be behind in every grade.
That's the core problem Front Row solves - it doesn't let students fall behind. And if they fall behind, Front Row helps catch them up really quickly because Front Row arms teachers with the resources and knowledge to develop their students individually. Now, the probability of falling behind in any given grade is irrelevant, because it will never compound. The student who would have been the most at risk will instead be up to speed, and therefore far more motivated.
Get information on how to apply for this position.
I want to create a game where the user plays the computer. The computer runs an algorithm to compute it's next move which takes some time, so I need an event (and/or behavior) that lets me know when the algorithm is done running. Is this possible in three-penny gui?submitted by martingalemeasure
[link] [3 comments]