You are here
In the first article of this series, I explained how to use Python to create a simple, text-based dice game. In the second part, I showed you how to build a game from scratch, starting with creating the game's environment. But every game needs a player, and every player needs a playable character, so that's what we'll do next in the third part of the series.
The most challenging part of deep learning is labeling, as you'll see in part one of this two-part series, Learn how to classify images with TensorFlow. Proper training is critical to effective future classification, and for training to work, we need lots of accurately labeled data. In part one, I skipped over this challenge by downloading 3,000 prelabeled images. I then showed you how to use this labeled data to train your classifier with TensorFlow.
This week we look at TensorFlow and image classification, mining cryptocurrencies with the Raspberry Pi, developing your own game with Python, and more.
Are you looking for good reading material to help you implement (or strengthen) DevOps in your organization? DevOps expert Chris Short offers 14 options for your consideration in his All Things Open 2017 Lightning Talk.
Most of Chris' recommendations are books, several are websites, and a couple aren't about DevOps at all. But all of them have something important to teach you about unifying software development and operations to work better, smarter, and faster.
In my first article in this series, I explained how to use Python to create a simple, text-based dice game. This time, I'll demonstrate how to use the Python module Pygame to create a graphical game. It will take several articles to get a game that actually does anything, but by the end of the series, you will have a better understanding of how to find and learn new Python modules and how to build an application from the ground up.
When we published The Open Organization in 2015, it ignited a spark of curiosity among companies of all shapes and sizes about what having an "open" culture really means. Even when I have the opportunity to talk to other companies about the benefits of working with our products and services, it doesn't take long for the topic of conversation to shift from technology to people and culture. It's on the mind of just about everyone interested in driving innovation and maintaining competitive advantage in their industries.
Joplin is an open source cross-platform note-taking and to-do application. It can handle a large number of notes, organized into notebooks, and can synchronize them across multiple devices. The notes can be edited in Markdown, either from within the app or with your own text editor, and each application has an option to render Markdown with formatting, images, URLs, and more. Any number of files, such as images and PDFs, can be attached to a note, and notes can also be tagged.
The open organization community at Opensource.com is proud to announce the immediate release of The Open Organization Workbook, the sixth book in the Open Organization book series.
The Open Organization Workbook features contributions from more than 30 managers, educators, technologists, consultants, and other experts, who offer concrete and actionable strategies for putting the principles of transparency, inclusivity, adaptability, collaboration, and community into practice.
Editor's note: This article was originally published in March 2016 and has been updated to include additional options and information.
It's a common fear: Will DevOps be the end of my job? After all, DevOps means developers doing operations, right? DevOps is automation. What if I automate myself out of a job? Do continuous delivery and containers mean operations staff are obsolete? DevOps is all about coding: infrastructure-as-code and testing-as-code and this-or-that-as-code. What if I don’t have the skill set to be a part of this?
I don't do Windows. The operating system, I mean. At least, not on my own computers and not with any of my own work.
When I was a consultant, I often had to work out of my clients' offices, which meant using their hardware, which also meant using Windows at many of those offices.
On behalf of the Opensource.com editorial team, we wish you a fun holiday season and a Happy New Year!
If you're taking time off over the holiday break and worried about what you'll do with your free time, we've got a list of 45 article ideas for 2018. If you're interested in writing or know someone who'd be the perfect fit, email us at firstname.lastname@example.org to get started. Also, take a look at our Tips and Guides for Writers.
By Antonio Vazquez
Spring 2016, I was playing around with Blender 2.77 grease pencil when I noticed a bug in the stroke filling, so I decided try to fix it and contribute to the Blender project. Since then, I have done more than 1,100 commits for grease pencil as a volunteer and I think it’s time to write my first blog entry.
Grease pencil has something very special, because you need to keep the feeling of a 2D animation inside a 3D environment, integrating these two worlds smoothly. But this challenge makes more exciting to work in an area that can change how 2D animation will work in the future.
Christmas is around the corner and the Hero open movie directed by Daniel M. Lara is on production for several weeks already, working in a daily basis with the Grease Pencil branch.
Working in a real production is the best way to fine tune a software and find the real artistic requirements as well as to polish workflows. Therefore the Hero open movie is a perfect way to improve grease pencil.
During these weeks the Hero team has requested a lot of new features and adjustments to adapt grease pencil to the production workflow. Sometimes the changes were simple modifications of default values but other times the changes were bigger like the multi frame editing falloff.
Let’s review some of these new features and changes we have been working on. Thanks to Daniel Lara and Matias Mendiola for providing the demonstration videos of this article.Multi frame editing falloff
When you are doing a 2D animation, it’s very common to need to redraw or touch several frames in order to get a smooth animation. You usually use the onion skinning available (I added support for more onion skinning modes too). The problem with onion skinning is that you can only “see” the animation, but you cannot edit the drawings.
The Hero team requested a way to change multiple frames at the same time, so I developed a new multi frame edition mode that allows changing several frames at the same time. You can select the frames affected using the Dopesheet. This multi frame edition saves a lot of time to animators.https://code.blender.org/wp-content/uploads/2017/12/Mod_Multiframe01.mp4
After thinking about the problem, Daniel came with the idea of a falloff effect. A few tests later, and I implemented a way to calculate a smooth transition for sculpted frames. Now, if you move the stroke some units in the current frame, the previous and next selected frames will also be affected, based on an interpolation curve.
With this approach you can get smooth transitions. And by adjusting the interpolation curve, a slow in/out effect can be now easily achieved.https://code.blender.org/wp-content/uploads/2017/12/Mod_falloff01.mp4 Modifiers
Modifiers are something we use everyday in 3D, but it’s something totally new in grease pencil.
The first step to implement this for grease pencil was to determine how to reuse the current infrastructure, while customizing it to the 2D requirements. I did an initial design and after a lot of trial and error, I got something that worked, but after some review by other developers, the initial design required some changes to keep better aligned with the general Blender modifiers design. Finally, with the help of Joshua (Leung), we got a better design and implementation.
This is the current list of the new modifiers.
Grease pencil has some special requirements that could be handled with modifiers. In some cases, however, the modifier was not modifying the stroke properties, as all 3D meshes modifiers do, but changing their look only.
To solve this “look only” modifiers, I designed the VFX modifiers, that work in a similar way to the Eevee viewport effects, affecting the look of the image of the grease pencil object. This is done using a full screen shader that works as a filter for the image. The VFX modifiers can be different for each object, so we can activate VFX blur for one object while keeping other objects sharp.https://code.blender.org/wp-content/uploads/2017/12/fx.mp4 VFX Light
Since I started to develop for grease pencil, one of my first idea was to add some type of lighting support.
Lighting is a complex topic, especially when you are working with 2D elements in a 3D world. In 2D, the concepts of normals, faces and so on changes a little, so you need to find a way to mimic all these things in a 2D environment.
As real lighting was out of scope at this moment (it would require more work on Eevee which has its own priorities at the moment), I decided to implement some way of 2D lighting using a special VFX shader.
VFX can be applied to a single object and get cool effects, but this lighting has no relation with other objects. In the future, a full Eevee integration of grease pencil could be implemented, but for now, something is better than nothing.
The main problem in the development was how to manage the light position and how to convert this to the 2D world. Finally, I got an algorithm to calculate the distance to an “invisible” plane represented by the strokes and after some debugging I got a good result.https://code.blender.org/wp-content/uploads/2017/12/Mod_light00.mp4 https://code.blender.org/wp-content/uploads/2017/12/Mod_light01.mp4 Build modifier
Build modifier is something all animators want. Here Joshua comes with a great implementation.
The build modifier allows to animate the drawing of the strokes in a similar fashion of the Build modifier for 3D objects.https://code.blender.org/wp-content/uploads/2017/12/Mod_Build.mp4 Simplify modifier
The simplify process was something you think is necessary from the first stages of the design, but it was one that shows how important it is to have real talented artists working in the development process.
The initial idea of this modifier was to use the same algorithm that I’ve used in my grease pencil add-on last year. I was investigating and the most used one was the Ramer–Douglas–Peucker algorithm. This algorithm takes a line and simplify it keeping as much as possible of the original shape.
The first implementation of the modifier worked using the RDP algorithm, but after several weeks, the Hero team requested a more simple way of “cleaning” the drawings, so I had to implement a simple way to remove a point for every 2 points. Finally, I added a parameter to apply recursively the fixed simplify logic to speed up cleaning.https://code.blender.org/wp-content/uploads/2017/12/Mod_simplify.mp4
This new simplify fixed mode was something that as developer I have never thought, but for artists, it shows up as a natural requirement for production workflow.Offset modifier
To be able to move some strokes of the same object in a free way was something that came to my mind thinking in how to move the eyebrows of a character without affecting other areas.
To solve tasks like this, the offset modifier is a great tool because you can filter by layer, pass index or vertex group, so you can apply any type of transformation to selected areas of the drawing or create cool effects as showed in the following video.https://code.blender.org/wp-content/uploads/2017/12/Mod_offset.mp4 Other changes
There were a lot of things that were modified during these past weeks that are not visible but have a lot of impact. Here, Joshua did a great job refactoring the code to use the new depsgraph and align some parts to be ready to merge with 2.8 branch. I know these are not fancy areas, but we must thanks Joshua for his excellent work again. It’s never too much to remind that he is the original developer of grease pencil in Blender, and none of this would be possible without his work.
All of you ask me when we are going to merge the grease pencil branch in 2.8. We want to merge it as soon as possible, but as 2.8 is changing every day and the resources are limited, we have not found the time to do it yet.
We have done more things, and are keeping doing, but I think for this first article is enough. We will keep you informed of new developments.
Grease Pencil Developers:
Antonio Vazquez (@antonioya_blend)
Joshua Leung (@aligorith)
Daniel M. Lara (@_pepeland_)
Matias Mendiola (@mmendio)
PyCon Namibia held its first edition in 2015.
The conference has been held annually since then, and has been at the heart of a new open-source software movement in Namibia. In particular, through PyNam, the Namibian Python Society, Python has become the focus of self-organised community volunteering activity in schools and universities.
In the last two years, assisted greatly by Helen Sherwood-Taylor, Django Girls has become an important part of the event too.PyCons in Africa
The conference has also been the direct prompt for further new PyCons across Africa; Zimbabwe in 2016, Nigeria in 2017 and a planned PyCon Ghana next year. In each case, PyCon attendees from another country have returned home to set up their own events.
An important aspect of these events is the opportunity to establish relationships with the international community. Numerous people have travelled from other corners of the world to meet African programmers in their own countries, and many have returned multiple times.Be a Pythonista, not a tourist
There is enormous value in this exchange, which gives Python/Django programmers from beyond Africa a unique opportunity to encounter African programmers in their own country, and to visit not as passing tourists but as Pythonistas and Djangonauts who will form long-term relationships with their African counterparts. This helps ensure that the international Python community meaningfully includes its members, wherever in the world they may be, and represents a chance like no other to understand them and what Python might mean in Africa.
There is probably no better way to understand what Python might mean in Namibia, for example, than having lunch with a group of Namibian high-school pupils and hearing about their ideas and plans for programming.
This exchange enriches not only the PyCon itself, but also the lives of the Pythonistas that it embraces, from both countries, and the communities they are a part of.About the travel fund
In order to help maintain this valuable exchange between international Python communities, the Django Software Foundation has set aside a total of US$1500 to help enable travellers from abroad to visit Namibia for next year's PyCon, 20th-22nd February.
The DSF seeks expressions of interest from members of the international Django community who'd like to take advantage of these funds.
Please get in touch with us by email. We'd like to know:
- who you are
- why you'd like to participate
- where you are travelling from and how much you estimate you will need
PyCon Namibia will benefit most from attendees who are interested in developing long-term relationships with its community and attendees.
See the conference website for information about travel and more.
By Dave Wehner, Chief Financial Officer
Today we are announcing that Facebook has decided to move to a local selling structure in countries where we have an office to support sales to local advertisers. In simple terms, this means that advertising revenue supported by our local teams will no longer be recorded by our international headquarters in Dublin, but will instead be recorded by our local company in that country.
We believe that moving to a local selling structure will provide more transparency to governments and policy makers around the world who have called for greater visibility over the revenue associated with locally supported sales in their countries.
It is our expectation that we will make this change in countries where we have a local office supporting advertisers in that country. That said, each country is unique, and we want to make sure we get this change right. This is a large undertaking that will require significant resources to implement around the world. We will roll out new systems and invoicing as quickly as possible to ensure a seamless transition to our new structure. We plan to implement this change throughout 2018, with the goal of completing all offices by the first half of 2019.
Our headquarters in Menlo Park, California, will continue to be our US headquarters and our offices in Dublin will continue to be the site of our international headquarters.
I'm always looking for ways to map hot technologies to fun, educational classroom use. One of the most interesting, and potentially disruptive, technologies over the past few years is cryptocurrencies. In the early days, one could profitably mine some of the most popular cryptocurrencies, like Bitcoin, using a home PC.
Asynchronous decision-making is a strategy that enables geographically and culturally distributed software teams to make decisions more efficiently. In this article, I'll discuss some of the principles and tools that make this approach possible.
You may need to step out of your comfort zone if you want to advance your career in an open organization. Taking a backseat approach and letting your managers drive you where they think you should go may not always get you to the best destination.
We're kicking off our third straight week of holiday giveaways with a one-year subscription to O'Reilly Safari, a US $399/year membership that gives you access to thousands of technology and business ebooks, videos, live online trainings, and real-time support from experts.
The first thing to know about blockchain smart contracts is they're not contracts, smart, or necessarily on a blockchain. They are, in fact, singularly ill-named.1 Let's address these issues in reverse order, and we should find out exactly what a smart contract actually is along the way. First, an introduction to what transactions are and things that aren't transactions.