Cyberstick is a temporary cloud server. What this means is that you can store files here for 15 minutes to have someone download them and then forget about them. This can be used among friends; if you want to share a song you just made in garageband, pop it into Cyberstick and give them the three word key. What if you wanted to move a photo onto your computer from your phone and don’t have a cable handy? This website works perfectly on mobile devices and should not cause any problems.
Cyberstick is built in Python using the open-source libraries shutil, pdb, stripe, jinja2, python-flask, werkzeug, urllib2 and TinyDB.
When a user opens the upload page, the server builds a session ID by picking 3 random numbers with the built-in Python function randint, which are used to select 3 words from a list. The server then creates a session folder locally with the naming system [UNIX time]-[Session ID].
The server displays a webpage created by injecting content into a custom-built jinja2 template. This template contains a drag ‘n’ drop box for uploading files and the session ID which is passed through jinja2 as a string. Any files that are uploaded are saved to the session folder.
Another python script has a loop which lists all sessions folders and compares the marked UNIX time to the current UNIX time and if the folder is over 900 seconds, wipes the content of the folder and then deletes the folder.
The download link is created using the session ID so it is easier to remember and communicate.
The API simply sends a request to the server using curl http request. It requests an upload folder. The server builds it and responds in JSON giving the error code (if any) and the session ID. Using the received session ID, the API then makes a POST request to the server uploading the files. To download files, the API sends a download request with the session ID, the server responds with file names and the API downloads them directly.
When a user wants to create a user ID, they are redirected to a payment system that sends back a confirmation key such as stripe. When the server receives this confirmation key, it forgets it, generates an ID with 6 random words and checks that this ID has not been already used, and if it has not, saves it to the database together with the number of sessions that the user has bought. The last thing it does is it displays the user ID and saves it to an encrypted cookie. The name and payment information are not saved. To login, you must write the user ID. Sessions that are created by a user that is logged in, the folder name includes the user ID. This allows the user to see their own sessions for the system scans the folders and displays the ones whose name contains the user’s ID. The user can also add more sessions to their user ID by adding their key on the checkout page which causes the server to repeat everything in a normal purchase but without randomizing the key and using the given key instead.
I arrived at the RDS at 8.30 with my Mum and Dad’s laptops, a suitcase full of projects, LEDs and a pretty substantial lunch. My Mum and Dad were just as shocked as I was when I saw so many people queuing up to get in.
Pete from CoderDojo met us at the front door 5 minutes after we arrived. We were one of the first people to get into the RDS. I felt like a VIP! Pete lead us up to our stand and carried my Mum’s heavy laptop bag. Then my Mum had to leave to go to work. After that my Dad and I started setting up.
We set up the Bluetooth controlled Neopixel LEDs, the LED Matrix Scroller, the Line Following Robot and the Flashing Mini Christmas Tree. Pete showed me the mBot robot he made at CoderDojo. Ross from CoderDojo took this picture of me and put it on Twitter
A Teenage Exhibitor came at 9:15am and asked me about my Bluetooth controlled NeoPixel LEDs. When I showed him it he was amazed, and got other people to come over to me.
Some of the kids at our CoderDojo stand came over to me. Their names were Lucas and Evie. They made a self-driving car. They asked me a few questions about my website. When they finished asking me questions, I went over to their desk, leaving my Dad to mind the stuff. They showed me their self-driving car. It’s a remote control toy car they hacked. This type of hacking is not bad. It means taking something apart and making it do something else. They used Python to control the car.
It was after a few demonstrations that I decided to always show visitors to our stand my video first. This meant I did not have to repeat the same thing over and over.
Soon after that my school friends arrived. My teacher chose 6 boys to come to the RDS today. They loved my project and it was extra special being in my school uniform as all my school friends were very proud.
I showed them my Bluetooth controlled Neopixel Led Project.
It was 11:45am and I decided to have my lunch because I felt hungry. I had an Innocent Smoothie and a delicious roll. About an hour later one of the kids beside me was eating chips and that made me hungry!! I asked my Dad if I could have chips (with salt and vinegar obviously!). He finally said yes, so I got the chips.
I showed some teenage girls my line following robot.
When I was wandering around the stand I saw Ross’ s Flappy Bird game. I followed the instructions (Put your hand on tin foil and keep it there) which were quite simple. I tapped my finger on to the piece of jelly and I could play Flappy Bird.
One kid showed me his design for a plane. He said that he knew how to do the hardware but not the software. I told him that when my website goes live it would be great to work with him. The whole idea of my website is to share ideas and to help kids. This is what I am doing here.
The CEO of the Raspberry Pi Foundation from England came over to our stand! He was one of the only people to ask me detailed questions about my project. I got a picture of him with Lucas, Evie and 2 kids from other Dojos.
I finally got a chance to look at other stands like Analog Devices when my Mum came back from work.
I was very tired after all of that but I enjoyed the day very much…
Just like last year, Coolest Projects was a great day. Many people from Coderdojo @ and the Warehouse and other dojos across Europe had very awesome projects.
This year, our Dojo had a very strong representation at the Coolest Projects. There were 16 entrants presenting 12 projects and three of the projects got awarded! Well done everyone!
There will be no CoderDojo on the Bank Holiday Weekend, Sat June 4th, and Sat June 11th will be the last CoderDojo before the Summer Break.
We will start back in the new Zalando office in August.
Coolest Projects will be on June 18th and Brian encouraged everyone to enter. See their website for more details!
Next week the mentors will help everyone who would like to enter with registration and their project ideas. The closing date is Sunday the 22nd May.
Despite the unusually tropical weather in Dublin, over 30 people came to The Warehouse last Saturday, including two new mentors, Sebastian and Martin.
Most of the Ninjas worked on their projects submitted to Coolest Projects Awards.
The team of Julia, Patrick, Nathan and Moghammed worked on their sensing car.
It is a very cool creation. The car is equipped with a sensor and a camera and controlled by an Android app. Lost your key, a remote or a hamster? No need to search around on your knees, just send the car for a mission and look at the camera feed on your phone. Smart!
Mika, Alex and Felim are working on a project on the Raspberry Pi. It is going to be a miniature, portable gaming console and they are even making their own games!
There is also one Ninja in the Scratch group who entered the Coolest Projects Award. Charles joined our Dojo barely a few weeks ago but is already very advanced in Scratch coding. Looks like it is a true passion of his. He is doing a multilevel game for the competition. Good luck, Charles!
Over the course of the next few weeks, we will show off the rest of the projects.
Also, for regular updates, see our Facebook page and Twitter account @CoderDojoDublin.
For less regular but fun stuff see our You Tube channel.
A lot of things happened last Saturday over at Coderdojo @ the Warehouse.
First of all, Derek brought in his 3D printer to help Finbar with his project and he let other people also print some cool stuff out.
Secondly, volunteers from Coolest Projects came to have a little talk explaining more or less what Coolest Projects is all about, to those who didn’t go last year and he answered some of the questions that people had for him. He also brought a working drone with him and let people have a go of steering it with his phone. It was very fun! Don’t forget that you can still register your project at www.coolestprojects.org! 🙂
Attending last year’s Coolest Projects was a spectacular experience!
As soon as they got there, all contestants recieved a t-shirt, a VIP pass and a lunch token. Then someone would show them where they were going to be showing their projects.
There were lots of rows of tables layed out. Every category had it’s own few rows. Each contestant was given one table (about 1 sq m) where they would present their project.
In the middle of the room was a huge screen with the names of all of the contestants being shown in a continuos loop. It was great fun to look up every few minutes and see my name on there.
When the first judging began, 3 judges would go around to everybody’s project. One of the judges was just holding a 2 minute timer all the time and barely said anything, while it felt like the other two judges were playing ‘good cop, bad cop’ on you because one was constantly complimenting your project and one was constantly questioning it and asking why you didn’t do stuff differently, ect. Shortly after, the judges came again.
After both judgings, everyone got a chance to have a look around. You could take look at other peoples’ projects or take a look at some of the companies that had a stand there. Some of my favourite stands included the TV one (I think it was Sky or UPC or something like that) which had a massive background with MARVEL’s Avengers which you could have a photo on and the McAfee one, which had a program that tracked hacker attacks all over the world. It was interesting to see just how many happen within mere seconds.
Upstairs there were also some science and technology stands, showing off cool stuff. There was a working 3D-printer as well as a virtual reality headset.
You could also redeem your lunch token for an apple and a sandwich and if you were still hungry, there were some food tracks outside.
About a couple of hours later, the ceremony began. Everybody got a chance to go on the stage at some point a recieve something. Last year everybody got an orange ‘belt’ which was a really cool USB that you could put around your wrist.
Every category also had several runner-ups and winners. Maciej and Harvey from our Dojo took first place in their categories and Stephen, Maebh and Eabha took second place in their categories.
But just before the winners were announced, the creator of Coderdojo went on for a quick speech.
Overall it was a really fun day. I am definitely looking forward to going again this year. 🙂
It was another great week at Coderdojo @ the Warehouse. We had over 40 Ninjas in!
We also welcomed a new mentor Hannah, who works with the Scratch group.
Over the course of the past few weeks, the projects group was working on different cool projects, especially making modifications for PyGames and Minecraft Pi edition. They used only Python and the Terminal to do so. We are all very happy with the PIs and we are having great fun with them.
Minecraft Pi edition Is a free version of Minecraft that you can play on the Raspberry Pi and modify. PyGames are a selection of simple Python games available to play and modify on the PIs.
We made it so that in Minecraft, blocks were placed underneath you as you ran. The block that was placed depended on the number that you put in your code. Alex made it so that as you ran blocks were being deleted all around you.
If you made a nice project, you can volunteer to write about it on the blog.
Aipo 2016 was also announced. It is an annual Irish coding olympiad. You can take part here: http://aipo.computing.dcu.ie/.
There was another busy session at Coderdojo @ the Warehouse!
We warmly welcomed four new ninjas i.e. Tom, Art, James and Sandra.
SCRATCH was, as usual, making their way through the tutorials, while the apps and JS groups were all working together on their chat application which will eventually be available on the website.
The HTML group was working on different websites and the projects group was mainly working with Raspberry PIs. That includes Jasper who was playing around with Sonic Pi, Finbar who was editing the code of Minecraft Pi edition and I made an LED blinker.
We hope to see you all next week and don’t forget that registering for the Coolest Projects is now open.
© CoderDojo Dublin @ The Warehouse 2015.
All rights reserved.