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]
al 0.1.1.2 was shipped. It includes several improvements, among them:
- fix CPU architecture issues ;
- since version 0.1.1, the stdcall flag is available ;
- alcIsExtensionSupported was renamed to alcIsExtensionPresent as the former just doesn’t exist – sorry for the typo.
The stdcall flag might be a great ally for people compiling on a 32-bit Windows. For people on 64-bit Windows, the default is sufficient – and for UNIX systems, you don’t have anything special to do.
I’m also looking for hackers to test the library on the most OS as possible. I have issues with it (see this) and I’d like to hear from people. Even though I have that issue, al compiles well and runs great in ghci, which is weird regarding the fact running an application compiled with al silently crashes at startup.About paths…
That’s a nasty issue I don’t really know how to correctly fix. Up to now, default OpenAL 1.1 SDK installation are detected for Windows. For people with custom installation and other systems, you have to pass the path of the SDK by hand. I know, it’s a pain in the ass, but I don’t want to depend on tools like pkg-config as that tool is not available everywhere – getting it on Windows is not that simple.
This may come in handy next time I need to lecture on Russell's Paradox. From SMBC.
FP Complete is a small, fast-growing software company focused on software development tools and data analysis/modeling tools. We are the leading provider of commercial development tools for the Haskell language, with advanced users in finance, applied science & medicine, and Internet/mobile services.
As a modern distributed company, we seek the best staff from anywhere and allow them to telecommute. Therefore this position is open to applicants from all locations, and relocation is not required. Work from home is encouraged.
We provide a positive, technology-driven environment for smart, focused, self-managing people who like working with bright colleagues and users on a wide variety of design and implementation tasks.
We are looking to expand our engineering team with an additional systems engineer. This position will focus on system administration, with many opportunities to grow skills into larger scale systems design and development tasks.
This is a full-time, long-term contract position.Primary responsibility
The primary responsibility of this role will be administration of a regulated software project. We are looking for some who can demonstrate trustworthiness in operating a high-stakes, high-reliability service. This position will be process oriented, and will have a large focus on correctness of implementation. Responsibilities will include managing cluster computing solutions for large, domain-specific cloud compute jobs, as well as management of clusters of machines hosting high-availability applications and web services.
This position will offer the opportunity to work on the production deployment of a high-performance (HPC) scientific processing application. You would be working hand-in-hand with other engineers writing Haskell libraries for distributed workload across this cluster and web services.Secondary responsibility
This position will offer additional side projects which allow for more creative implementations, many of which will be high visibility as part of Haskell community infrastructure. This includes working with developers to create well-hosted technology demonstrations and improving online resources for learning Haskell.Requirements:
- AWS (EC2, VPC, IAM, RDS, ElastiCache)
- Ubuntu server
- Experience with managing high-availability systems
- Shell scripting and automation of routine tasks
- Strong organizational skills
- Experience hosting SaaS systems
- Azure or other IaaS
- Service Discovery and HA architectures
- Intrusion detection/prevention
- MediaWiki management
- Configuration management
Additionally, as we are a functional programming shop, we are most interested in candidates who are intrigued by functional programming, as functional programming is a strong part of our engineering team culture.
If you are interested in applying for this position, please send your CV or resume to firstname.lastname@example.org.
Watchdog: SNP plan for super-database could create national ID number for every Scot.