Silico is a programming environment for science, on the web.
Our goal is to build a tool for scientists, researchers, students and citizen scientists focused on how they use code everyday.
That means putting the focus on things like reproducibility, data, libraries, sharing and learning while making it easy to start programming and forget about the everyday pain of configuring and maintaining all the moving parts.
This page will get you pointed to features you can use right now, but also how we see Silico evolving in the future!
Silico is in a state you might call Early Access, slowly nearing Beta. We have some great features ready right now, and a few major ones to come before we can get into a proper Beta.
Silico is ready to help you run programming assignments for students and classes of any size.
Create an assignment template, students start with with a link, run student code effortlessly: If it works for them, it'll work for you.
Also included are automatic hand-in, free accounts for those helping your mark and more. Give up the struggle with student code!
Silico is also ready for people to build scientific models out of code, add data and share runnable code instantly with others on the web!
Automatically version controlled and reproducible, support for third-party libraries, data, and the Python and R programming languages, along with an experimental language!
Silico has powerful features for building models out of multiple languages, keeping track of data and output and making everything fully reproducible. However, some of the UI for building models is still in the experimental phase. Getting this right has been a challenge, feedback is welcome!
Third-party libraries are an important part of programming, especially in science. Right now Silico provides a fixed set of the most popular libraries for each language we support. We have more ambitious goals for libraries, but for now we're sticking with something simple.
Managing code is the first job of science when pain is the unit of measure. Computers are hugely useful in the enterprise of knowledge. The minimum is that you have to be handy with programming, nothing we can do about that.
What shouldn't be required is managing the explosive complexity of the programming environment. That's for the full-time professional programmers!
Versioning, build tools, APIs, dependencies, finding a maintainable way to have your code accessible and reproducible? Necessary, but not what you build a career on.
Our goal is to build a programming environment for science in which your programming effort is as close to the conceptual as possible, and you just end up with all the boring things you need by default.
With Silico your code will always be reproducible, always versioned, libraries are configured for you, share a link with collaborators and they can be running your code in seconds.
We want to build a company that's for the people who use it, and built so that we can keep working for them.
There's a saying that if you're not the customer, you're the product. We don't want to sell our customers, we want to sell to them. This keeps the needs of our users first, and keeps us in business working on something we care a lot about.
So all that to say, we're a traditional business. We make something, and sell it to people who get value from its use. No ads, we don't sell data or your privacy.Terms of service
There are a number of major features we'd like to release to get us into a beta. They center around two really important things we want Silico to be able to do. In no particular order:
1. Scientific code differs from code written for other purposes in that how it works matters more than what it looks like it does.
The inner workings of scientific code needs to be shared and understood by others at a deep level. It needs to be validated, inspected, modified and used carefully. The correctness of the code validates the result, not the other way around.
2. Openness is one of the most important and useful foundations of science, and it wouldn't make sense for Silico to prevent your work from being usefully accessible outside our environment.
Having established an environment to write, reproduce and share runnable code, we want to build features on top of this to make it much easier to have others understand your code, beyond just being able to access it. More to come!
No. It's important that scientfic code is available through a variety of means and technologies. While you'll always be able to get your code and data out of Silico, we have a number of features in mind for making it easier to move code around to different services, and your own machines.
Making your code runnable outside Silico is more of a challenge - less so to configure a local, independent, virtual environment for you. More so if we want this to be a two-way arrangement.
One last thing. We think it's a critical but overlooked part of the job of science and research to make code and results... presentable. Good science is what really matters, but we also live in the world of grants, funding, bosses and stakeholders.
Marketing your work matters, and we think your tools should help you do this as well.
Our ultimate goal for Silico is to build it into what we're calling a computational enclyopedia. Essentially, an encyclopedia of runnable models and code, concerning any subject, available for any purpose.
A scientifically-oriented computational encyclopedia will probably be wilder than a traditional encyclopedia in that there won't be canonical entries, but rather a set of models for any topic.
The hope is also that, beyond providing more accesible code, well-established scientific code on particular topics can provide a better reference for implementation. This would include correctness, readability, better scientific code quality in general.
This is the goal we're ultimately building towards.
Silico started from a love of science, but more than that a love of accessible science. It was also born of a frustration with the application of computers to the day-in and day-out of scientific work. Writing code for science, research, business, economics... anywhere where you start with a model of the world and need to write programs about it.
Also need these tools to get out of the way, in a sense. Things like reproducibility etc. need to be a byproduct of day-in-day out work, rather than something that needs to be managed. Insulate from the insanity of the professional developer world.Sign Up
Copyright @ 2019 Third Foundation. All rights reserved Terms of Service