We’re done with the Byte Hackathon!

We’re finally done with the byte hackathon! The everyday grind was an uplifting experience! For the 3 days, I set my mind to make sure I had the correct mindset through all days. Work on, and complete a proper prototype to present!

My Team and I made sure all parts of the prototype had worked, from the main activity screens right down to every single line of code, constantly user-testing with different values, inputs and from a different angle. We made sure that the live demo was perfect. Although It wasn’t, I’m sure My team and I gave it our best shot.

Below is a simple one slide elevator pitch for you (the readers!) to find out more about what Project Fosterships is about.

Amongst the feedback, we were given from many lecturers and friends… one stood out. The Idea could work! We intend to make the idea work by applying the iterative process of an agile sprint to the use. We’d get feedback from the product owner –> review –> work on it!

All in all, the BYTE Hackathon was an amazing experience. We came in as the second runner-up and I truly believe it was a worth-while experience. (Below are some snippets of how our project looks like)

IF you have any feedback or questions about the project, Feel free to let us know! (You can contact me @ brian(at)bchewy.com)

Completion of Sprint #1! – Project Fosterships

We’ve finally completed our very first agile sprint. It was truly a learning experience. Although it was fairly weird to get started on the story-points and user stories compared to previously when we had listed down the tasks and began to start work on it soon after.

The first sprint, as a team was fairly tough although we have begun to gain momentum and have quickly learnt the ropes of mobile app development from one of our teammates, Daniel. I’ve assisted with the development of the booking screen. One of our most important parts of the app! To allow for event organisers to make use of the booking screen to book their event and eventually make use of our game app as competitive fun.

Below is a picture on what we’ve done with the Trello board, yet again. Since my team is not satisfied with the user stories as some of it may seem like duplicates or messy… We’ve come together to readjust the user stories and our story points. I’ve circled and underlined the cards!

All in all, I’m looking forward to the next sprint, where it’s all prep to quickly work on our prototype for presentation during the BYTE Hackathon! I have also attached a screenshot of our burnup chart, which helps mark our progress!

Progress for Sprint #1 (Week 4)

Hello yall!

For sprint #1, we’ve started to do some development by bootstrapping a native Android application. For this week, we’re intending to do a sprint review and sprint-retrospective to help us check in at the progress of our sprint.

We’re looking to do a burnup chart, which will help us look at the progress along with the ideal “progress” that we’ll be working on.

We will be following the above template as shown above. On top of that… we’ll also plan for the next sprint.

  1. Getting feedback from the previous sprint
  2. Plan the next set of work for the next sprint (iteration planning meeting)
  3. Make sure the user-stories are planned for the next sprint (story-planning meeting)
  4. Look for areas of improvement (mini-retrospective)

We will have a story-planning meeting at the start and have feedback session and iteration planning along with the mini-retrospective at the end of the stand-up meeting.

Recently, we’ve also started development on the Android Application by starting to develop and design the different activity layouts, along with instantiating the database and seeding it with fake-data and instantiating the different buttons, text-boxes and more.

All in all, progress looks to be on track, and we hope to develop the game-concept into our prototype as soon as possible by the end of this week. Once again, you can look at what we’ve been doing on trello (https://trello.com/b/jFPJdUKb/project-fosterships).

Project Fosterships!

Hello everyone!

I’m working on a project with a team of four guys, where our product aims to be an innovative solution for social interaction. Project Fosterships is an idea to help foster worthwhile relationships with groups of people who attend camp/events by breaking the ice while promoting a sense of belonging amongst themselves.

Following this we’ve prepared for our first sprint, as you can see with the picture below… it is our assigned board space.

As you can see, this is our first sprint, we’ll be working on the game-concept and mainly the login page for our product. As for project management… we’ve decided to make use of Trello as our main project management tool. You can access our trello board –> here!

I’ll briefly explain about our trello board here! (and just for progress-tracking… I will update trello every week!)

As you can see, we have a simple info board for us to update each other on the clarity of the project, along with the deadlines which will tell us the different deadlines we’ve set with clear countdown timers shown. Furthermore, we’ve also added a card list for risk/opinions we’ve heard and revised through with the group members, and or other people.

Sprint #1

As for our first sprint, we’ve planned to start on the game-concept and the login parts. This is to help hopefully present our game with a proof of concept to the lecturers.

After the inception deck, we’re planning… we’ve also made sure that our product backlog is clear and what the scope is actually about. In addition to what we’ve done… we’ve also started on the inception deck slides, along with a simple inception deck document that will go briefly into the details about our project.

To keep up to date with us: https://trello.com/b/jFPJdUKb/project-fosterships 

The Docker Guide!

Docker is an awesome tool! and this is my guide on how I use it for development, and or other fun things you can do with docker!

Docker is a containerisation tool as explained in the previous post. Here are some of the Docker Commands that I’ve used to help start, etc!

docker ps - shows all active docker containers
docker ps a - shows all active/inactive docker containers
docker start *name* - starts the docker container with the *name* eg: docker start mussql - starts the docker container with sql
docker pull *name* - pulls docker *name* from dockrehub, etc...
docker build -t testapp:v1 - builds your docker image based on your Dockerfile. (look at: https://docs.docker.com/engine/reference/commandline/build/#options) there are other flags like --no-cache etc!

What’s a dockerfile? : A docker file is simply just a set of instructions for docker to build images automatically.

I hope the above commands have helped you understand docker a little better.  You can download it for windows, or Mac-os and try it out yourself here : https://www.docker.com/get-started 

Thanks for taking your time to read!
Brian

DOCKER!

Hey guys, I’ve recently been up to trying to learn docker. It’s simply great.

This is simply a draft post to instruct new system administrators or developers like myself how docker works, and how I interpret it. It’s also really good for my future self (just in case i forget how docker might work. I can just refer back to this!)

Image from https://blog.docker.com

Docker is just a containerization tool to help you work easily with multiple operating systems. Say you had a two different servers you were intending to deploy your application on:  A staging server, and a production server. Docker helps you cut down on redundant mess and configuration. All you need to do is to run a docker container with a docker image. You’re set. (It’s practically github for docker-images, so they work on docker containers!)

I’m still in the middle of learning how docker works, and trying to deploy/ship out a demo-web app on the mac-os platform (on apache). I’ll write another blog-post in a few days time on the commands and things you should take note of.

Beware, Icloud users!

Hello everyone!

I’ve been doing superbly great recently, and I got a new macbook to spice my life up. With the new 2018 macbook pro, my programming life has changed for the better. Things are simply awesome on the new unix-based OS. There’s just an upsetting part. I got the base-model. Which means i only have about 256GB Flash storage. This means i don’t have a lot of space! Which is exactly why i depend on ICloud.

ICloud is awesome, because it is so seamlessly based on nothing but apple products. It’s simply amazing and easy to access through the apple eco-system. You ought to know though, don’t ever enable photos in your System Preferences > ICloud well, that is unless you have about 1TB of space on your new macbook pro.

Make sure to check the ICloud Photos option off. The macbook does not explain it very well in the system preferences. By checking these options, you opt to sync that app with ICloud. (I only figured out after deleting my photos from the macbook pro)

UNCHECK YOUR PHOTOS! (the macbook pro force-downloads all your photos on icloud if you select this. – the optimized photos)

Git and the command line (Cmder!)

The command line is fast. Really fast. These posts are some reminders i made to help inform myself about git commands that are important. Some terms before we start

Commit – To commit your changes (literally means to commit)
Staged – To prepare for a commit, but is NOT a commit(this is one step before commits)

Cloning existing git repos

$ git clone https://yourgitrepurlhere

Checking your git status (modified,unmodified etc) – more regarding changes here (https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository)

$ git status (include -s for a short status)

Ignoring files (put them into a .gitignore file eg:)

# ignore all .a files
*.a

# but do track lib.a, even though you're ignoring .a files above
!lib.a

# only ignore the TODO file in the current directory, not subdir/TODO
/TODO

# ignore all files in the build/ directory
build/

# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt

# ignore all .pdf files in the doc/ directory and any of its subdirectories
doc/**/*.pdf

Commit changes

$ git commit -m "Commit name here!"

The above command commits the changes mentioned in git status, furthermore… you need to push to update remote copy (if on github, or any other remote repository)

Push to remote repository

$ git push

Git move

$ git mv file_from file_to

Everything else can be found on the git-scm website. Of course, making use of software like Github Desktop or SourceTree can be very useful. However I still think that learning a little git on the command line can help in the near future.

Why am i learning this?
Why am i indeed you may ask? I am merely curious and intend to explore how to make use of git (the cmd version) and attempt to make my very first web-application on a MVC layer (not ASP.NET core) with the Symfony framework. I should also note this PHP command down… (i keep on forgetting how to run the application..)

 $ php bin/console server:run

Updated 10/08/2018 9:15PM – updated if any important things are missed out!

References
Source: https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository

RESTful!

RESTful has been something on my mind for a very long time. Ever since i was young, i had stumbled upon something called RESTful… well back when i was still a young developer working on simple html pages for absolute joy.

Today, i will be posting some of the resources I feel that have been of great use  to me when learning how RESTful works. If you’re interested to know more… you should definitely read every last word these articles have to offer.

The below shows how in relation the HTTP methods are with the normal CRUD operations and SQL operations. Picture is taken from scotch.io

There are four main parts to a simple HTTP request

  1. Endpoint (this is basically the url eg: github’s root-endpoint is api-github.com, root-endpoint basically means the starting point hence “root”)
  2. HTTP Method (covered above in the picture)
  3. Headers (just additional information about the request/response more information : https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers)
  4. Content (data/body)

We’ve already covered what methods are.. and on to headers (Headers are simply property-value pairs– to me, this is really just a way of providing information to the client/server -eg so the server may know what this request/response is for… etc!)

As for Content… it’s just the information to be sent to the server. HTTP Status codes & error messages are just as important because they tell you what has happened to your request/response!


Picture is taken from smashingmagazine.com

Finally, i’ve really learnt a lot of what RESTful is due to my knowledge in applying it. I’ve made a simple web-application on C# with the help of what i’ve learnt in school. You’ll be able to download the demo (which helped me to learn here!!: https://github.com/bchewy/CSharp-HTTP-Methods-API-)

References (i do not any of the pictures posted above)
Scotch: https://scotch.io/bar-talk/a-quick-understanding-of-rest
Smashingmagazine : https://www.smashingmagazine.com/2018/01/understanding-using-rest-api/

 

My very first industry visit!

The first few industry visits i had were to polinate, a startup workspace incubator from polytechnics and the worldskills event hosted at Suntec exhibition halls! Through these events, i got a glimpse into how the working life is like, and how the startup grind really is!

My first industry visit was a quick visit to Pollinate, an incubator that was a joint initiative by three polytechnics. It aims solely to help entrepreneurship efforts by the polytechnic students, along with alumni entrepreneurs. It was very amazing look at this creative space, where current and even past students from polytechnics were there, working and shaping their ideas into a better form. We also had a short talk from a co-founder of Kakku, which is a very smart way of advertisement, and they intent of disrupting the current advertisement business models.

I found that very inspiring as it was unlike anything I’d ever heard of before. You would make use of a local area network (LAN), to advertise. This was simply amazing, and this has motivated me to push on, and not look for the best idea out there, but simply refine and work with your passion.

As for my second industry visit, I was volunteering as a Workshop assistant at one of the workshops to introduce programming/technology to the secondary school students. Shockingly, many of them already knew what programming was, as they already have lessons in school which teach them simply about programming. Furthermore, some of the students in the workshop remind me of my younger self, when I would be very curious, play more, and finally understand how it would work. I could some of the students exhibit this playfulness, since they’re interested… they made use of the time to ask more questions and tried out different code combinations (since it was block programming). This was super inspiring to me as it reminded me of how technology would always move on and we would have to keep upgrading ourselves.

The above picture is me and a group of friends volunteering at worldskills & the below, is a picture of us at polinate!