Some helpful guides and tutorials to point hackers in the right direction at Cutie Hack 2019! 🍊
https://account.wolfram.com/redeem/CutieHack112019
This URL will take you to a sign-in page and prompt you to log in using your Wolfram ID. If you don't already have a Wolfram ID, you'll be prompted to create one using an active email address. Once logged in, you will see in the Downloads section which platforms of the software you have access to, with their accompanying activation keys. Please download the desktop version to your machine, boot up the application and use the associated activation key when prompted. This will grant you full access for 30 days from your activation date.
When you access Wolfram|One in the cloud for the first time, you can create a new notebook or load a pre-made Things to Try live notebook, which is designed to guide you through neat things you can immediately compute in the Wolfram Language.
You can use Wolfram|One to create instant web apps and APIs, or to deploy to mobile. The Wolfram Language is also bundled on the Raspberry Pi, where you can connect directly to hardware, including Arduino etc.
The fastest way to get an API up and running is detailed in the extensive Documentation Center available to you alongside your notebook: simply click the section in the documentation labeled Cloud and Deployment and select Instant APIs to access a handy how-to guide to help get you started.
To view your account details-- including your available Cloud Credits and Cloud storage-- or re-download Wolfram|One, visit the following page: https://account.wolfram.com/products
Instructions on registering your free .xyz domain:
- Search for your .xyz domain, then “Go to checkout”
- Select a 1 year term
- Click “Next: Recommended Add-Ons” and choose any add-ons you’d like
- Click “Next: Information & Checkout” o Enter promo code: CUTIEHACK→ new total is $0.00
- Enter your contact details
- Choose PayPal or Credit Card as preferred payment method
- Check ✓ the box next to “I agree to...”
- Click “Submit Order”
The terminal on your computer, when the right resources are installed, is a powerful tool for running your code and building applications. Chances are, factory settings on your hacking machine aren't gonna cut it to streamline building your application/idea.
The following is a list of tools/technologies help you turn your ordinary computer into a certified hacking machine!
- XCode
- includes numerous general purpose languages and tools for many kinds of projects
- even if you don't use the integrated environment, XCode is still very useful for getting an all-in-one starting package of languages installed
- Homebrew
- a package manager for MacOS and Linux
- lets you install everything you might need that wasn't already included in XCode
- Ubuntu
- a Linux subsystem for your Windows machine
- allows you to run an emulated instance of Linux Ubuntu in a Windows environment
- Make sure to enable Windows Subsystems to run the terminal! (https://developerinsider.co/stepwise-guide-to-enable-windows-10-subsystem-for-linux/)
- Git
- version control and file version management system
- lets you maintain consistent versions of code
- useful for collaborating on a potentially large code base with several people
- GitHub
- a web-based hosting service for version control using Git
- offers all of the distributed version control and source code management functionality of Git as well as adding its own features
- Git Commands - save, branch, checkout, track, upload, download, share, collaborate on, control versions of, revert, delete, nuke, etc. your code!
- Markdown - the language of ReadMe documents
- C++ - object-oriented, allows for low level data manipulation
- C# - intended to modernize paradigms set up by C++ and C, object-oriented
- Python - high level, emphasizes code readability
- Java - heavily class-based and object-oriented
- JavaScript - high level, the dominant programming language of the web
- Pip
- the recommended package manager/installer for the Python language
- lets you quickly install and import libraries and packages to run in Python
- npm
- a package manager specifically for the JavaScript Language
- the go to tool for getting packages for Node.JS
- HTML - the "content" of a web page
- CSS - dictates the style and character of a web page
- JavaScript - high level, the dominant programming language of the web, makes webpages dynamic
Back-End Development: code that connects the web-page to a database, manages user connections, and powers the web application itself
Common Back-End Frameworks/Tools
- JavaScript
- Python
Front-End Development: the practice of converting data to graphical interface for user to view and interact with data through digital interaction using HTML, CSS and JavaScript
Common Front-End Frameworks/Tools (used in conjunction with vanilla HTML/CSS/JavaScript)
- HTML/CSS/JS
- Bootstrap - CSS/JS library that makes responsiveness between mobile and desktop web pages easy
- Semantic UI - quickly build web pages with sleek, modern, and dynamically designed elements
- Font Awesome - font and icon toolkit for simple yet effective icons and typography
- jQuery - JavaScript library designed to simplify HTML DOM tree traversal and manipulation
- pure JavaScript (all of which are extremely powerful and robust)
- AngularJS - structural framework for dynamic web apps, good for single-page applications, maintained by Google
- ReactJS - JavaScript library for building user interfaces, 'reacts' to user and dynamically changes the content of a web page, maintained by FaceBook
- VueJS - open-source JavaScript library for building dynamic user interfaces, easy to pick up
Hardware Lab
- Check out the official map on the Cutie Hack Live page for the location of our Hardware/Tech Lab
Arduino IDE
- the official integrated development environment for Arduino programming
- optimized for uploading code to Arduino microcontrollers
Note: Soldering is not allowed at Cutie Hack.
Unity
- a real-time 3D development platform
- drag and drop static assets into your 3D scene
- code dynamic elements events and elements using the C# language
- the official software development kit for Oculus Rift hardware within Unity
VRTK - The All In One Virtual Reality Tool Kit for Unity
- comes with integrated GearVR and OculusVR SDKs
- prebuilt libraries for locomotion, object-interaction, clipping, and more
- build mobile apps in a React JS integrated environment
- good for both Android and iOS applications
- maintained by FaceBook
- for iOS app development
- Xcode is the proprietary development environment
- for Android app development
- Android Studio is the recommended development environment
- an open-source mobile application development framework
- good for both Android and iOS applications
- maintained by Google