JavaOne – Nurturing Online Communities

“Nurturing Online Communities”

Speaker: Simon Maple

For more blog posts from JavaOne, see the table of contents


Runs VJUG (virtual java user group)

Events

  • Talks
  • Book club – then talk to author of book online when done
  • Forum
  • IRC chat – mainly used during sessions
  • Conference – 24 hour conference Oct 25th – https://virtualjug.com/vjug24/ – borrow other’s physical meetups by holding viewing parties for vgug24

Metrics

  • Page views
  • user counts

Benefits

  • Easier to find speakers – no travel so speaker can say yes more easily
  • Diversity – anyone on planet can join. Also, talking to a handle so not influenced by race/gender
  • Can view session while working from office
  • Can view recording after the fact – have all 4 years of content. Recording important for time zones. Find 5pm UK time to be best
  • The core center of the community is online rather than in a place
  • No cost for venue, food, drink

Negatives

  • Speaker interaction not as detailed
  • Easier to accidentally offend someone/be disrespectful
  • Hard to recover from assholes in the community
  • Speaker can’t see audience
  • Lag on questions as people type

Best practices

  • Youtube and Google Hangout make recording sessions trivial
  • Ensure same experience regardless of device
  • Google analytics for website and youtube analytics for videos
  • Need to invest time (vs money)
  • Getting a company involved helps. Company trades employee time for sponsorship
  • Have a team of people to help run
  • Want a self managing community
  • Twitter worked best of all social media attempts
  • People attracted by content and/or a known speaker
  • Meetup doesn’t like virtual events, but ok because big

Other notes

  • 100-200 people watch live and 1000-2000 within a week. Benefits of live are IRC and questions.
  • members from 120 countries
  • 500-700 people signed up in first month
  • Looking at replacing IRC with Slack because more people use it. Wanted to lower registration bar so can be anonymous.

My take: Good discussion of online specific beneits and constraints

JavaOne – Disrupting Engineering Education

“Disprupting Engineering Education; Hello from 42”

Speaker: Tony Hendrick, Oleksandra Fedorova & Giacomo Guiulfo

For more blog posts from JavaOne, see the table of contents


https://www.42.us.org

42 Silicon Valley

  • tuition free coding school
  • no teachers
  • no classes
  • when start – can only communicate by Slack
  • the application process starts with two logic games with no instructions. The first test involves memory. If you pass, you get an email with the next steps
  • Then comes the piscine a 4 week crash course in C with daily peer reviewed exercises. Each weekend get an individual and group project. 10-15 hours a day for 28 days. Then whatever want; most students choose 8-10 hour days
  • Staff doesn’t answer questions. They tell you to ask other students. 250-300 students
  • 3-5 year program. Twenty one levels to go through. Self paced
  • Start with writing a C library then can choose branch working with 4 other people
  • high school diploma required only if under 18
  • Supplement with other resources. ex: coursera
  • Buiding open 24×7 so can work when want. Must be in person for tests, grading, etc. Want to build face to face skils for office
  • Learn many languages
  • Must do coding internship after a year. Can pause account if get offer or contract job (or family suitation)
  • Funded by philanthropist
  • Grading is pass/fail. If a tiny bit wrong, still fail
  • Paris campus opened in 2013 and US campus opened in 2016. Also have satelitte campuses in a few countries

Branch choices

  • unix – to become systems programmer – make unix commands, shell
  • graphics – math heavy, fractals
  • algorithms – rebuild common algorithms from scratch and then projects

Example Projects

  • Reimplment printf
  • C++ crash course (in a crash course a project is due every 2 days for 2 weeks
  • Mock interviews – algorithms on whiteboard

Staff
10 full time staff
600 students
1024 computers
staff create opportunities – ex: book room for club

Learning Techniques

  • Active learning – few instructions so figure it out
  • Learning through explaining to others
  • Ability to adapt, research ability, speed
  • Randomized team vs choose a team depending on project

42 Embassadors
Volunteer – demos, registration desk at this conference, etc

My take: Interesting approach to learning and building a community of learners. This sounds way better than what the coding bootcamps are trying to do.

JavaOne – 10 challenges and eliminate stressful bugs

“Learn the Concepts between these 10 Java Challenges and Eliminate Stressful Bugs”

Speaker: Barry Evans & Rafael Chinelato Del Nero

For more blog posts from JavaOne, see the table of contents


Generics
Missed this one. I was late while chatting in the hallway. (and dithering about whether to go to this session of a Jigsaw one)

Threads
JVM exits if only daemon threads left. Instance variable not thredsafe. [also don’t know that last thread executes last but didn’t comment on that]

Strings
new String() and trim() create objects. == vs equals
[I fell for this. I missed == vs equals]

hashcode and equals
if hashcode always he same, doesn’t help for hashmap. Then only equals matter. Also tricky implementation for hash code to return 7

Crazy Syntax
Fun random syntax. How to obsfucate code.

Sorting and Comparables
TreeSet uses compareTo, not equals or hashcode

Lambda
default methods don’t count towards single abstract method. Also, interfaces can be private

Streams
iterate() is infinite terminal operation so can’t use with forEach. Also, a good reminder to use Comparator.natural order instead of reimplementing when need.

Method Overloading
Widening then autoboxing then varargs.
int and long can “widen” to float.
wrapper class Double goes to Object before double
[I only got this one right because “does not compile” was not a choice”.]
Interesting explanation of about “taking more effort” to use autoboxing/varargs.

Polymorphism
Virtual method invocation means doesn’t matter what store variable reference in. Overloading vs overriding

nobugsproject.com #Javachallenge

My take: This was fun! Being a cert book author gave me an advantage but some were still tricky and tough! And using The Simpsons as examples was fun. He did show of hands for each option; most people didn’t raise their hand for any of the choices.