Giter Club home page Giter Club logo

devstaff-heraklion's People

Contributors

achariton avatar bellangelo avatar btripod avatar ckoulatsi avatar daknob avatar filipslavik avatar ggeorgop avatar giopap avatar gsaslis avatar gvre avatar hotshuk avatar irinikp avatar jchrist avatar kabitakis avatar kingherc avatar kouts avatar manassakis avatar markop avatar mijalis avatar mvasilak avatar mzampetakis avatar nickorfas avatar nikoskleidis avatar padeler avatar pappaschris avatar sonaht avatar sstauross avatar webdevgr avatar zakkak avatar zeageorge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devstaff-heraklion's Issues

LaTeX

An introduction to LaTeX:

  • What is LaTeX?
  • Why use it?
  • Advantages
  • Disadvantages
  • Limitations?
  • Tools to make it easier/user-friendly?

[Hack Session] Playing With Time (a.k.a. which language / framework has the best support for time travel?)

I've been wanting to play with this for some time (yes, still stuck on Java7), so I'll be spending an afternoon over the next few days on this... Which would probably be better to do so in some company, if anyone else wants to learn about this... (i.e. if you already know enough about it, I'm not sure you'd learn a lot in this session ;) )

I would like to implement a web app where each user can select their own timezone, and have a different timezone on the application server and different on the db server, etc... you get the point...

the idea is to become familiar with all the new classes Instant, Period, Duration, TemporalAdjusters, ZonedTimes, all the formatters (of course), add-your-own-here, etc.

Nothing formal.. etc. Hoping there won't be more than 5 of us, so we can easily sort out a time (pun intended) for our meeting.. ;)

IoT (Internet of Things)

The Internet of Things (IoT, sometimes Internet of Everything) is the network of physical objects or "things" embedded with electronics, software, sensors, and connectivity to enable objects to exchange data with the manufacturer, operator and/or other connected devices

Related topics:

  • Definition
  • Areas of Application
  • Smart Cities
  • Case studies
  • etc
    • This is NOT a complete list, feel free to suggest more

🔈

Coding for youngsters

Κάποιες έρευνες αναφέρουν άνοιγμα 500k θέσεων εργασίας για developers μέσα στην επόμενη δεκαετία, ενώ στην Αμερική η Python πήρε τη θέση των Γαλλικών σαν δεύτερη γλώσσα στα δημοτικά σχολεία (http://www.information-age.com/it-management/skills-training-and-leadership/123460073/python-overtakes-french-most-popular-language-taught-primary-schools).

Στα πλαίσια του θέματος αυτού θα εξετάσουμε με ποιούς τρόπους μπορεί ένας νέος (παιδί/έφηβος) στην Ελλάδα να μάθει προγραμματισμό, αλλά είναι επίσης σημαντικό να εξετάσουμε κάποιες δράσεις για να ενημερωθούν οι μαθητές σχολείων για το αντικείμενο αυτό, για όσα μπορούν να δημιουργήσουν κ για τις επαγγελματικές ευκαιρίες από μια τέτοια ενασχόληση.

Το παρόν θέμα δεν θα εξεταστεί σε κάποιο meetup αλλά αποτελεί ένα initiation / cause στο οποίο θα ξεκινήσουμε από κάποιες συζητήσεις κ ίσως καταλήξουμε σε κάποιες παρουσιάσεις σε τοπικά σχολεία κ στη συμμετοχή μας σε ένα μαθητικό φεστιβάλ.

Door Signs

@kabitakis would it be possible to have something we could print on an A4 page to put on the building doors (x2), on the stairs(x1), elevator (x1) and on the actual door (x1) tomorrow to help ppl understand they've found us ?

I can take care of having them printed here, but I'd appreciate some help with what to print ;)

Mobile development 101

I would be very interested in learning the basics of mobile apps development.

  • What languages I should use?
  • What tools?
  • What is the general file structure of an application?
  • How can I use the device's DB? Is there any?
  • What frameworks are there?
  • How should I test?

I mean the complete basics, given that we all know how to write a loop and an if statement. I have absolutely no experience in that, so the presentation should be done by somebody else...

Node.js Hack Session

Anyone interested in Node? Let's have a hands-on experience and try to share our know-how. We should work on groups of 10 at most.

Global Game Jam RETHYMNO 2016

Το Global Game Jam αποτελεί το μεγαλύτερο παγκόσμιο γεγονός δημιουργίας παιχνιδιών το οποίο πραγματοποιείται τις ίδιες ημερομηνίες και την ίδια ώρα (τοπική) σε όλο τον κόσμο.

Κατά την διάρκεια της διοργάνωσης (48 ώρες), οι συμμετέχοντες χωρίζονται σε ομάδες (έως 4 άτομα) και καλούνται να φτιάξουν από το μηδέν ένα video game ή ένα board game (επιτραπέζιο) πάνω σε συγκεκριμένη θεματική η οποία τους ανακοινώνεται κατά την έναρξη και είναι κοινή για όλες τις χώρες. Κατά την λήξη της διοργάνωσης, όλα τα παιχνίδια που έχουν φτιαχτεί παραδίδονται στους διοργανωτές και αναρτώνται στην κεντρική σελίδα του Global Game Jam.

Η συμμετοχή στο Global Game Jam είναι δωρεάν και το μόνο που χρειάζεται είναι οι ενδιαφερόμενοι να συμπληρώσουν την φόρμα συμμετοχής που είναι διαθέσιμη στα παρακάτω links:
www.ggjrethymno.weebly.com
http://globalgamejam.org/2016/jam-sites/global-game-jam-rethymno
http://goo.gl/forms/Qd1LXXqeyx
Facebook: www.facebook.com/ggjrethymno/
Twitter: @GGJRETHYMNO

Πανελλήνιο Συνέδριο Φοιτητών Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΣΦΗΜΜΥ)

Καλησπέρα παιδιά,

Στις 22-24 Απριλίου θα διοργανωθεί στα Χανιά το 9ο Πανελλήνιο Συνέδριο Φοιτητών Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΣΦΗΜΜΥ).
Πιστεύετε ότι θα είχε νόημα το devstaff να κάνει την εμφάνιση του με κάποια παρουσίαση;
Προσωπικά το θεωρώ μία καλή ευκαιρία να ανοίξουμε τον κύκλο μας.

Πιθανώς θα ήταν και μία ευκαιρία να γίνει bootstrap το devstaff-crete/devstaff-chania.

Για περισσότερες πληροφορίες για το Συνέδριο: http://www.sfhmmy.gr

Google Hash Code 2016

Hash Code is a team-based programming competition organized by Google. You pick your team and programming language, we pick a real-life engineering problem to solve. Are you up for the challenge?

I append the registration link for anyone interested in participating. I am not sure I will be able to participate myself.

https://hashcode.withgoogle.com/signup.html

Developing with security in mind

As more and more services are being deployed on the cloud or on devices that are almost always connected to the cloud/web, I believe developers should become aware of penetration testing techniques and tools to help them protect the end-users.

I would like to hear about:

  • Best practices
  • Popular tools
    • Automated penetration testing (that could probably be hooked to CI (#29)
    • Sanitizers
    • Fuzzers
  • Security focused static analysis tools
  • ... (if you are familiar with the topic please add more)

Docker Hack Session

Anyone interested in Docker? Let's have a hands-on experience and try to share our know-how. We should work on groups of 9 at most.

Sponsors

I think it would be neat if we could find sponsors that would help us cover some basic catering costs for the meetups!

Mainly talking about snacks & soft drinks, even though i have to admit pizza would be pretty awesome!

Sass

Could be interesting to front-end devs wanting to up their CSS game with preprocessors. It could also be a workshop, something like "migrate a project from vanilla CSS to Sass".

  • Why Sass?
  • How to start
  • File structure
  • Nesting
  • Variables
  • Mixins
  • Extends
  • Functions
  • Pitfalls

Working at (extremely) large scale

Running a personal mail server or a PHP application like Wordpress is extremely easy. Using svn or git for code is something we've been taught (:P). We all know how to do it, and probably we're all doing it.

But what happens when you scale to hundreds of users or thousands of visits?
You start using more VMs, load balancers, move to git, etc.

What happens when you scale to thousands of users? What about millions of users? What happens when traditional methods just can't keep up?

A topic that discusses:

  • Software Deployment
  • Server Deployment
  • Server Patching
  • The Cloud
  • VCS'
  • and a lot more

Password and Key Management

We can have a topic about Password Managers / Password Management and SSH / PGP / ... Key Management.

Best Practices, Current Implementations, Options, etc.

Topic Count

What follows is a count of thumbs up / thumbs down for the existing topics.

This will be updated on a regular basis and serve only as a quick way to see what is happening.

Follow this url to count the votes: http://analytics.devstaff.gr/

Topic Thumbs UP Thumbs Down
LaTeX #50 3 0
Password and Key Management #49 10 0
Django Basics: Building a simple web application #47 11 0
Start-Ups, Spin-offs and other forms of bootstraping a company #36 14 0
Working at (extremely) large scale #35 7 0
Docker and alternatives #34 6 0
Developing with security in mind #33 14 0
Not just text editors #31 6 0
Deep Learning #30 11 0
Continuous Integration #29 5 0
Unit testing #22 24 0
Sass #19 11 0
IoT (Internet of Things) #15 13 1
Design for developers #20 - CLOSED - 4th meetup 22 0
DevOps #14 - CLOSED - 3rd meetup 16 0
NodeJS #13 - CLOSED - 2nd meetup 23 0
Git #NaN - CLOSED - 1st meetup 4 0

remember that only if you 👍 a vote will be counted.

(last update 15/10/2015 10:19)

Design for developers

I'm writing a book on the subject (http://book.sugarenia.com) so I could get the main points in a presentation, if people are so inclined.

The idea is to present some basic design principles in a way that developers can relate to. It's mostly about web/UI design, but most of the principles can be applied to any kind of design, really.

A rough skeleton:

  • Colour
  • Typography
  • Layout
  • Usability
  • Graphics
  • User testing
  • Copywriting

Contributing Guidelines

We need to add a CONTRIBUTING.md to lay out the process of contributing to the community and to the repo itself.

Software design patterns

In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. Patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.

Proposed by @Archimidis

NoSQL

NoSQL Databases are becoming a hot topic in Computer Science and Software Engineering. Currently we collect, store and process a lot of data. Relational Databases don't seem to be able to keep up with that. Many of us already moved to NoSQL databases or want to do it soon.

I propose a talk on NoSQL databases, their types, some basic information on how they work and some tips we may have for both administration as well as development.

If you're interested in this topic please comment below including the :+1: icon. If you posses enough knowledge and are willing to speak about this topic, please include the :speaker: icon.

Hack Session: Emacs for beginners (and vim fans)

- -
Host @zakkak
Place Office_12
Date Thursday 28 January @ 21:00
Limit on attendees let's say 8 (if we are more we might split it in two sessions)

Prerequisites:

  • Bring a laptop
  • Install Emacs (preferably version 24.x) on that laptop or to a machine you have remote access from that laptop
  • Follow the tutorial until you get bored/tired/pissed of (Opening emacs you will see an "Emacs Tutorial" link, click it or go over it with the arrows and press enter, alternatively just type Ctrl-h t)
  • Bring questions with you ;)

Agenda:

  • org-mode (the emacs organizer)
  • god-mode (modular editing, vim-like)
  • tramp (remote file editing and much much more)
  • yasnippet
  • projectile
  • undo-tree
  • use-package
  • company-mode (auto-completion)
  • magit (a git front-end that is better than git itself)
  • mu4e (email-client)
  • which-key
  • auctex (for writing latex, if anyone is interested in it)
  • xcape and karabiner (bonus)

Docker and alternatives

This might be interesting to non-web developers.

When developing an application external libraries and maybe sometimes operating systems are assumed. However, some times things break (see updates/upgrades).
Docker seems to offer an attractive proposition to develop and mainly deploy applications without worrying too much about OS, or libraries in the system.

Has anyone used something Docker or something similar?
Any practical experience on what is achievable/limitations?

Tor

The Onion Router (or Tor for short) is a P2P network that not only allows anonymous browsing of the Internet, but also supports hidden services, special domain names that are completely anonymous, both for the website as well as for the user.

In this topic we can see how Tor works, how it gains its anonymity, as well as how to setup a hidden service and run our website and/or web app / service there, in addition to the Internet version.

If you feel like we should also include some more content, feel free to say it in the comments below. If you have experience on this subject and want to be a speaker, just comment :speaker:. If you like this topic and want to view it in one of the upcoming meet ups, go ahead and comment :+1:.

Tor hack session

I am seriously interested in this subject and I want to, will actually organise, a hack session on this soon.

Point of this will be a seriously fast knowledge transfer.

I know that @daknob will be interested in actually providing all info, and actually allowing us to brain pick

How to organise a Hack Session

The process we use to organise our meetups seems to work well. We can not use the same process for the hack sessions. Meetups are events arranged on a specific date that can be attended by a large number of people. Hack sessions must be proposed somehow but they can be scheduled for any date, they must be scheduled quickly and flexibly and only a few people (5-10) can participate on each session. We can have different groups of course. Any ideas on how to do this using the github issues?

Deep Learning

I wouldn't really put this down as a topic suggestion, but I'd love to spend an afternoon (or two) with any ppl who are interested in the field and understand a little more on this.

I guess I'm thinking more of sth along the lines of an open discussion and/or hack session(s)...

Any takers?

Logo

We need the DevStaff logo so ppl can understand what it actually means ; )

Code of Conduct

How do you guys feel about agreeing on a CoC ?
Is it too early?

Talk: Secrets of Concurrency

Title: The Secrets of Concurrency

Abstract:

From the first version of Java, we have been able to create multiple threads. Initially, this was mostly used for making our GUIs more responsive. For example, we would read a file using a separate thread from the main AWT thread, updating the GUI as to the progress. Running many active threads on one CPU seldom made the program faster, on the contrary, the swapping overhead frequently bogged down the machine.

However, in the last few years, the speed increase of CPUs has not been the clock speed, but the number of cores on each chip. We are in a position now where we can get a job done much faster by splitting it between multiple threads.

Unfortunately there is still a lack of understanding of the mysteries surrounding threading. This has caused programmers to write code that is fundamentally incorrect, not taking into account best practices for threading.

Here is an example of such incorrect code, seen recently on a web forum:

synchronized (namedQueues) {
  try {
    namedQueues.wait(5000);
  } catch (InterruptedException ie) {
    // Can safely ignore this
  }
}
if (isInterrupted() || isStopped())
  break;

In this talk, we look at ten laws that can help us to write more correct threaded code. We will now briefly summarise these ten laws:

  1. The Law of the Sabotaged Doorbell
    We show how to manage the InterruptedException. Since they are thrown by several methods in Java 5, this is useful to know.
    1. The Law of the Xerox Copier
      Concurrency faults can sometimes be avoided by making copies of important objects, instead of allowing mutability.
    2. The Law of the Overstocked Haberdashery
      Threads use up resources, even if they are not active, putting an upper limit on the number of threads in our system. Also, when analysing threading problems, we should know what every thread is doing. If we gloss over one thread without understanding it, we can easily miss a problem.
    3. The Law of the Blind Spot
      Fields can be cached locally by threads to improve the performance of retrieving their value. Thus, if one thread modifies a field, the other threads might not see the updated value.
    4. The Law of the Leaked Memo
      The Java Memory Model allows the hotspot compiler to reorder statements, as long as the final result is still correct. This can lead to some results which seem logically impossible.
    5. The Law of the Corrupt Politician
      Data races can cause the best objects to become corrupt. They can be really difficult to detect and analyse. In this law, we look at how we can avoid these problems.
    6. The Law of the Micromanager
      Adding synchronization to our code can cause problems with contention, where threads are waiting for each other to execute a critical section.
    7. The Law of Cretan Driving
      The rules of the road for Java threading are quite strict, but not enforced by all of the Java Virtual Machines. Even though your code seems correct, it might still be wrong.
    8. The Law of Sudden Riches
      Sometimes a system has latent defects that are only seen every few months. When running the system on faster hardware, these defects are amplified and can happen more frequently.
  2. The Law of the Uneaten Lutefisk
    It is often possible to detect deadlocks in Java, but unfortunately it is impossible to recover cleanly. The only option is to analyse the problem that caused it and then restart the JVM.

Prerequisites: Attendees should be confident in Java SE and should have ideally worked a bit with threads before. The talk does have something for everybody, but is mainly aimed at the intermediate to advanced developer. There are code samples and a short demonstration.

What you will get out of the talk: You will learn several tips that will help you in writing correct threaded code in Java.

Presentation Summary:

The talk starts with a quick introduction into threading, explaining why it has become so important of late. It then presents ten laws that we can use to write more correct threaded code in Java.

Some of the ten laws have already been described in our newsletter. Here they are again:

The Law of the Sabotaged Doorbell
http://www.javaspecialists.eu/archive/Issue146.html

The Law of the Xerox Copier
http://www.javaspecialists.eu/archive/Issue176.html

The Law of the Overstocked Haberdashery
http://www.javaspecialists.eu/archive/Issue149.html

The Law of the Blind Spot
http://www.javaspecialists.eu/archive/Issue150.html

The Law of the Leaked Memo
http://www.javaspecialists.eu/archive/Issue151.html

The Law of the Corrupt Politician
http://www.javaspecialists.eu/archive/Issue152.html

The Law of the Micromanager
http://www.javaspecialists.eu/archive/Issue155.html

The Law of Cretan Driving
http://www.javaspecialists.eu/archive/Issue156.html

The Law of Sudden Riches
http://www.javaspecialists.eu/archive/Issue159.html

The Law of the Uneaten Lutefisk
http://www.javaspecialists.eu/archive/Issue160.html

Biography:

Dr Heinz Kabutz is best known for his creation of The Java Specialists' Newsletter, read in 134 countries by 70000 Java experts. In his newsletter, he examines advanced aspects of Java that have helped Java developers around the world to produce better code. As someone remarked on the Sun website: "Heinz Kabutz is a hero in the Java Developer Community. His newsletters have saved companies millions by helping burgeoning and experienced programmers deliver high quality products."

In order to fund the newsletter, Heinz writes Java code on contract and runs seminars. His Java Specialist Master Course examines ten areas of advanced Java. It is one of the only courses specifically aimed at the seasoned Java professional. He also teaches on Java concurrency and performance.

Heinz was invited to speak at several Sun Tech Days events: Johannesburg 2006, Athens 2007, London 2007 and Frankfurt 2007. He is a regular speaker at Java User Groups such as JavaPolis, JavaZone, JFall and JHUG. In addition, he has spoken several times at the Server Side conferences in USA and Europe.

We don't know each other

One of the comments from yesterday's first event was that there were a lot of ppl we didn't know, or ppl we did know but we didn't really know what they're working on atm..

It would help if we did, cause we could then find others with similar interests and start chatting to them or get working with them on pet projects, etc.

A suggestion from my side would be for everyone to add a short profile (few words) on meetup.com, so that we could even look back and see what sort of stuff the new guys we meet every time are involved in..

Any other suggestions? (e.g. LinkedIn profile links?)

Website

Consider setting up website, e.g. using Github Pages.

Continuous Integration

Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. It was first named and proposed by Grady Booch in his 1991 method, although practices at this time did not yet support full automation, or the performance of integrations more than a few times a day. It was adopted as part of extreme programming (XP), which did advocate integrating more than once per day, perhaps as many as tens of times per day. The main aim of CI is to prevent integration problems, referred to as "integration hell" in early descriptions of XP. CI isn't universally accepted as an improvement over frequent integration, so it is important to distinguish between the two as there is disagreement about the virtues of each.

Source: wikipedia

I propose the following topics:

  • How it complements unit testing
  • Best practices (e.g. weekly/nightly builds, multiple platforms etc.)
  • Tools (e.g. Jenkins)
  • ... (feel free to add more)

I believe this talk should follow the Unit testing talk (#22) and cover (part) of its automation process.

Unit testing

It may be useful to discuss Unit testing across the following axes:

  • What it is
  • Why use it
  • How to use it
    • Domains: Languages, systems, OS, ...
    • Conventions/Tools
    • Best practices
    • Coverage
    • Automation
      etc..

My expectations from attending such a discussion would be to:

  • be convinced that I absolutely need to incorporate unit testing in my project, as is rumored :)
  • be given an idea on how to formalize the process of unit testing so that I am not lost in it

It is a big topic, but I feel it could be concentrated, by some expert, into at least an overview and some meaningful pointers.

Wiki

I suggest that we use a wiki for the wiki, that is a wiki on the main repo

ESPA hack session (business oriented session)

Even though I don't believe a developer should consider making business in Greece anymore, because of the unviable taxation model (earn 10, live with 2), there are some ESPA funding programs that are suppose to be proclaimed for SMEs. I make a lot of research for myself on this subject anyway and I could share my knowledge and experience in case some people are interested. It's not actually a hack session, it's an ad-hoc event, a presentation of the upcoming programs and best practices.

Not just text editors

I propose a hack session on VIM and GNU Emacs, the two most mature and popular text editors.

  • Newcomers could learn the reasoning behind all these weird key-bindings.
    • Maybe experienced users should try and explain why they (VIM and GNU Emacs) are so great.
  • Experienced users could share their hacks, best practices, work flow etc.

Start-Ups, Spin-offs and other forms of bootstraping a company

This discussion should focus on the procedure of creating a new company. I would prefer it to be focused on the Greek standards/laws, but it would be very interesting if we could do a short comparison with other countries as well.

Questions I believe we should answer are the following:

  1. What is a start-up?
  2. What is a spin-off?
  3. How do you start?
  4. How do I get funding?
  5. What if they "steal" my idea?
  6. Do I need to be knowledgeable in management, marketing, and other "unrelated" to software development skills?
  7. How do I recruit the first and most valuable people?
  8. Can I do it?
  9. What are the risks?
  10. What do I lose in the case of a failure?
  11. .. please add more

DevOps

DevOps (a clipped compound of "development" and "operations") is a software development method that stresses communication, collaboration, integration, automation, and measurement of cooperation between software developers and other information-technology (IT) professionals.

DevOps driving factors:

  • Use of agile and other development processes and methodologies
  • Demand for an increased rate of production releases from application and business unit stakeholders
  • Wide availability of virtualize and cloud infrastructure from internal and external providers
  • Increased usage of data center automation and configuration management tools
  • Tearing down silos and making sure developers and ops work together, more and better

Related topics:

  • DevOps (description/ideology/mindset)
  • Tooling
    • Ansible
    • Puppet
    • Chef
    • Other tools
  • Continuous Integration methodology/tools (CI) (updated 11/07/2015)
  • and more
  • This is NOT a complete list, feel free to suggest more

This will be the subject of the third meetup. no more voting

Functional Programming in PHP

Καλησπέρα σας,

I am amazed that I hadn't heard about devstaff-heraklion earlier - better late than never I guess, Ι will be happy to meet you in person at the upcoming meeting :)

My strong expertise is in PHP, Ember.js and Node. I thought I'd kick-start my topic suggestions with the thing that has been on my mind the most in the recent months: Functional Programming in PHP.

Functional style practitioners in PHP have been historically a tiny group, mainly for 2 reasons - the language constructs impose a heavy boilerplate/verbosity penalty and the infamous aversion to change in the PHP community - remember the great procedural vs OOP flame wars? ;)

Great thing is that with PHP 5.6+, things have started to change and there now exist a healthy amount of good libraries that make functional programming in PHP fun and easy.

So here is what I suggest to cover, the depth of each dependent on the overall time:

  • What Functional Programming is
  • What FP provides to you as a programmer (benefits)
  • The real reason why you will fall in love with FP (fun)
  • A walk-through of the major concepts in FP
  • An overview of the available PHP FP libraries
  • A practical guide to start embracing FP in PHP with Pramda

🔊

Alternative ways to communicate

Github issues are terrible for what we are trying to do.

Some alternatives are:

  • Meetup's discussion and poll features ❤️
  • A google group
  • A forum since we have our own domain
  • A slack chat
  • A subreddit
  • ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.