What's new in Django community blogs?

My First Django Girls Event

May 27 2015 [Archived Version] □ Published at pydanny under tags  django pydiversity python

Since the first Django Girls event I've watched the movement grow with a sense of of awe and inevitability. There is something about it that is both contagious and powerful, and in a very good way. This past weekend I had my first chance to attend one of their events in Ensenada, Mexico.

This is what we saw. A room full of attendees with laser focus. The coaches were clearly inspired by the dedication of the women who had come to learn and grow.

#djangogirls

A photo posted by Daniel Greenfeld (@pydanny) on


By the end of the day, the energy hadn't dwindled, it had accelerated.

Saying goodbye to #djangogirls Ensenada. Everyone stayed until the very end.

A photo posted by Daniel Greenfeld (@pydanny) on


No one wanted the day to end.

#djangogirls Ensenada attendees so dedicated they stayed after the event finished! :-)

A photo posted by Daniel Greenfeld (@pydanny) on


We did our small part. We coached and did our best to give an invited inspirational talk.


The Django Girls Ensenada organizers did a magnificent job of assembling a wonderful day that touched lives. We were very impressed!

The event had two sponsors, Hala Ken and the US Consulate in Tijuana, Mexico. They did more than just sponsor, they were part of the effort of organizing and running the event.


Cakti at CRS ICT4D 2015

May 27 2015 [Archived Version] □ Published at Caktus Blog

This is Caktus’ first year taking part in the Catholic Relief Service’s (CRS) Information and Communication Technologies for Development (ICT4D) conference. The theme of this year’s conference is increasing the impact of aid and development tools through innovation. We’re especially looking forward to all of the speakers from organizations like the International Rescue Committee, USAID,...


django-djcopyright

May 26 2015 [Archived Version] □ Published at Latest Django packages added


PyPy.js: What? How? Why? by Ryan Kelly (PyCon 2015 Must-See Talk: 5/6)

May 26 2015 [Archived Version] □ Published at Caktus Blog

Part five of six in our PyCon 2015 Must-See Series, a weekly highlight of talks our staff enjoyed at PyCon. From Ryan Kelly's talk I learned that it is actually possible, today, to run Python in a web browser (not something that interprets Python-like syntax and translates it into JavaScript, but an actual Python interpreter!)....


Loop Letters | Henrik Joreteg

May 26 2015 [Archived Version] □ Published at Lincoln Loop

We recently decided to the start a semi weekly written interview series of the humans behind programming, Loop Letters. What motivates these individuals? What sort of team culture are they working in? What hobbies are they good at? What hobbies are they terrible at? These are all things we decided the world needs to know. This first Loop Letters post will hopefully get us a little closer to feeling like we know the people in our community a bit better, while also talking a bit of shop along the way.

Lincoln Loop has forever been fans of &yet and Henrik Joreteg.

Henrik Joreteg avatar

Henrick is currently the President at &yet, the highly celebrated “people first” software company. We reached out to him to chat about &yet’s team culture and some of his personal projects, such as Human JavaScript. We also talk about hobbies and take a peek into his skier pro past and his recent shed turned sleek home office.

So without further delay let's get cozy and ask Henrik some burning questions.

&yet is known and respected in the community for its “people first” approach. Could you tell us a bit about how you all contribute to this type of culture on a daily basis?

I think it’s a mindset. We all make an intentional effort to see each other as whole people, not just "resources". That sounds a bit corny, perhaps, but it changes how we react to things that happen.
If someone has an issue with something or someone, they know they can voice those feelings and be heard. As a group we value people over productivity, and as it turns out, people do awesome things when they know they’re valued and heard.

With &yet being partially distributed how do you all regularly keep in touch? Do you predominantly utilize your own tools, such as Talky?

Roughly a third of our team is at the main office any given day, so we depend heavily on tools to keep in touch. We switched to Slack recently for team chat, and we rely very heavily on Talky for those times when text chat just doesn’t cut it. Especially the new beta version, beta.talky.io, because it supports much larger groups so we can do our bigger team update meetings, etc.

In addition to these we use:

  • GitHub for letting people file "issues" on the organization or file requests for help they need. If I need some design help for an open source project, for example, I create a new issue on the andyet/design repo explaining what I need.
  • We use Ginger for "check-ins" where people can talk about how they’re feeling about things.
  • Hackpad for writing things collaboratively.

The &yet team used to do a lot of Python/Django work. What do you miss about Python? What could Python learn from the JS world?

I’ve always liked the general cleanliness of most Python code. The PEP8 style is considered idiomatic so there seemed to be less "bikeshedding" about styles, etc.

I think JS has an inherent advantage in that it’s simply an easier place to start. Anybody can open a console in a browser and already have an "interactive interpreter" as Python folks refer to it. Plus, you can interact with the page directly and see the results of your actions.

Then when you add Node.js into the mix with stuff like browserify/webpack, now you can write code the same way no matter where you’re going to run it so there’s less context switching.

As someone who worked as a web developer for several years before I even knew there was such a thing as "backend" and "frontend" using similar tools in both places fits my mindset.

In addition, the ease with which you can write little command line applications and utilities with Node.js is pretty amazing. I think that’s a big reason why it’s become the defacto tooling for creating frontend applications, (a.k.a. Native Web Apps) even in cases where the app isn’t ultimately running on Node.js in production.

It has been a year and a half since you released Human JavaScript. How do you manage to work and keep this type of learning material up-to-date (like with your latest Human JavaScript video course) on such a fast-changing ecosystem like JavaScript’s?

It’s challenging, for sure, there’s so much to keep up with. I’ve developed a few coping mechanisms:

First, I try very hard to isolate mental processes so I can work on a single task at a time. It seems like I can get a week’s worth of progress done on a project in a day if I’m focused and I know I have zero distractions. So I’m quite protective of what gets my attention and try to isolate long blocks of time where I can ignore everything else without feeling guilty about it.

One recent example is I made some rather drastic changes to my work schedule. I now only work at &yet 3 days per week. The other two days are spent completely on personal projects from my home office that I built in my backyard. This is where I now work on stuff like the book and video tutorials.
I’m also notoriously bad at responding to email in a timely fashion. Not that I’m irresponsible about it–I’ll always eventually get to it, but in many cases it won’t be the same day or even the same week. I always batch those kinds of efforts.

Second, I try to do things that serve multiple purposes. A client project can be a great reason to improve or create an open source tool. I first recorded the video tutorials as a way to practice for an upcoming two-day, in-person, workshop I was going to lead. A good portion of the content for my book came from blog posts and project README.md’s that I had already written. Finding ways to align interests like that can have a nice multiplier effect.

In terms of dealing with the rapidly changing landscape in JS, much of that has been driven by my dissatisfaction with tools and workflows while actually trying to build things.

My blog posts, open source projects, and even several products we’ve built like Talky and AndBang are often born out of "scratching my own itch", if you will. As it turns out, often times I’ve discovered that other people had the same "itches".

This is also where working with a team is invaluable. The frontend devs on our team all share the best stuff we find and the tools we create.

What do you feel has changed the most concerning your workflow since you released the book and Ampersand.js?

I’ve recently become completely obsessed with going back to building frontend applications as completely "static" sites. I don’t mean static in terms of user experience, quite the contrary actually, but I mean that the app is being served to the browser as a set of static files. I pre-render all known HTML structure to static HTML files at build time, then all the dynamic or user-specific data is fetched by the JS at runtime.

With a few simple routing rules that you can do in NGINX, or using a service like Surge.sh or Divshot you can get clean, proper URLs, without needing to run something like Node.js, Rails, or Django in production at all for the frontend.

All the dynamic data then gets fetched from JSON APIs that you either rent or write. This forces you to architect your systems with proper separation of concerns. Your frontend web app becomes no different, conceptually, than building a native mobile app, its only concern is presentation of data. It has to fetch and intelligently cache all of its data from external APIs or services.

This makes operations a dream. To quote Jason Rose from Shutterfly who built their last app with Ampersand.js as static files: "Our deployment tool is rsync".

During development, I run a dev server that live-reloads styles and even view components on the fly as I save them in my editor, but then when it’s time to ship, I run a build step that produces a set of static files, including multiple HTML files with pre-rendered HTML structure. I then use React to "take over" the DOM once the JS has downloaded. The result is fast initial page loads that seamlessly transition to being entirely controlled by the client side JavaScript.

A working demo app using this approach is online at Hubtags. You can load the homepage with JS turned off, but once the app itself has downloaded, it takes over all rendering, navigation, etc. That source for that app is on Github and my specific dev-to-production-build setup is open source too.

These techniques are what I cover in my most recent video tutorials and what I’ll talk about in the second edition of my book.

But having switched to building this way, I’m never going back. In fact, I think we’re going to see a massive resurgence of static web apps.

A couple months ago you tweeted a picture of a shed and mentioned you were working towards transforming this into a home office. How are these efforts going? Could we see some pics?

I got it mostly finished and have been using it a ton! I totally love it. I also built a big, beefy desk to go in it. Here’s a few pics, it’s also got a rug and more furniture now, but you get the idea. I still need to do a bit more finish work, but I’m quite happy with the result:



We watched this video where you are are pulling off some amazing lincoln loops (nice!), do you still ski? Any other hobbies you are amazing at? Any that you are terrible at?

Oh sheesh, you found that, eh? Yes, that’s my younger, before-becoming-a-responsible-adult self. I love skiing and still do it, but not 5 days a week like I was when that was filmed. I’ve definitely eased up on the inverted tricks since discovering that my body can break.

But, I was very excited to take my daughter skiing at Mt. Bachelor this season and hope to make it a family thing for us. My wife, Holly, can definitely hold her own on a pair of skis, so hopefully we’ll be doing it a lot more in coming years as my son gets to be of skiing age (he’s almost 2).

Other hobbies? Mountain biking, traveling, guitar, piano, but mostly playing with my kids.

Things I’m terrible at?! LOL, well, I love traveling but I have a completely broken geographical sense of direction, I accidentally take the long way to pretty much anywhere I’m trying to go.

What is one technical and one non-technical book you would recommend everyone start reading right now?

Technical: JavaScript Allongé is pretty great for giving you a much deeper understanding of JS. Reg is brilliant but manages to explain things in terms that us mere mortals can understand.

Non-technical: I’m always embarrassed to recommend this because it has such a bizarre title, it’s also super old. But I think everyone should read Dale Carnegie’s "How to Win Friends and Influence People". You just can’t read it without becoming a better people person.

We often make conscious efforts to improve other skills, but so much of life can be improved by making an effort to improve our people skills and better understanding and empathizing with the people around us. Despite it’s seemingly self-serving title, that’s what this book actually helps you do.

I think as developers we’d be wise to sometimes read stuff like that, instead of reaching for another programming book.

Finally, do you have any advice on how to keep teams energized and in good spirits?

Empower, encourage, and get out of the way.


drf-tracking

May 26 2015 [Archived Version] □ Published at Latest Django packages added

Utils to track requests to Django Rest Framework API views


Changing your virtualenv’s directory

May 26 2015 [Archived Version] □ Published at How to be a Ninja 101 under tags  directory django python virtualenv

This note shows how to change the directory of your virtualenv without breaking the PATH of your packages.

Step 1:

copy & paste the your virtualenv to wherever you want to transfer it.

$ cp -R ~/old_directory/env ~/new_directory/env


Step 2:

Now it will (surely) not work properly and will get a bunch of error messages

go to env’s bin directory to fix the activate script

$ cd ~/new_directory/env/bin

$ nano activate # edit the activate file

then change the VIRTUAL_ENV to the new location of the env

VIRTUAL_ENV=“~/new_directory/env” # In this case


Step 3:

Your virtualenv now will work properly but you need to fix your pip script because the path for the python that is harcoded at the top of the script is still set to the old directory

$ cd ~/new_directory/env/bin

$ nano pip # edit the pip file

At the top most part of the script change the path of your python

#!~/new_directory/env/bin/python


That’s it!


Donated django-logicaldelete to Pinax

May 25 2015 [Archived Version] □ Published at Shifting Bits by Patrick Altman

Six years ago, I created a simple Django app to handle logical deletion of records. Today, I donated this app to Pinax.

This app has lived under my personal GitHub repo since I started the project, but since it's just me, I rarely find the time to keep on top of maintaining the code as it deserves.

In fact, I had pretty much forgotten about it even existing until this morning when Brian Rosner said in our Slack channel:

mark the Nth time I’ve wanted an app and searched for it and found it built by someone at Eldarion. this time django-logicaldelete.

Then I go and look at the code and realize there were some open issues. The most recent just being a few months ago, #9 - Delete method related object behavior is wrong.

I also then saw that I hadn't touched the code in about a year, and even that was just merging a pull request.

Finally, when I saw plenty of forks with what seem like good enhancements but no pull requests, I wanted to get this project in a place where it could be better maintained.

Therefore, this morning, I donated django-logicaldelete to Pinax and in the process it was renamed to pinax-models. It was updated to the lastest standards of a Pinax app and will now join the dozens of other apps in the Pinax ecosystem.


Your Django Story: Meet Barbara Shaurette

May 25 2015 [Archived Version] □ Published at Django Girls Blog

This is a post in our Your Django Story series where we highlight awesome ladies who work with Django. Read more about it here. 

Barbara is an open source veteran, with over fifteen years of experience as a professional developer, much of that as an active participant in the Python and Django communities. She founded PyLadies Austin, and teaches and mentors through organizations such as PyLadies, Girl Develop It and Code Scouts. Currently, she works as a Python developer for Cox Media Group.

image
 

How did your story with code start?

My code story started long before my Django story. In the mid-to-late 90’s, back when AOL was a popular thing, I was so curious about how the internet worked. One night I slipped and accidentally right-clicked on a page, saw ‘View Source’ for the first time, and something clicked in my brain. I started teaching myself HTML, and not long after got my first coding job at Berkeley Systems. They were just moving out of their 'Flying Toaster’ and 'You Don’t Know Jack’ CD phase and moving all of their games online, so with the help of some great mentors I got exposure to other languages (ColdFusion, Java), as well as the basics of game and web development. Before I left that company 3 years later, I was creating and publishing my own games for them.

 

What did you do before becoming a programmer?

My degree is in education, but my teaching career only lasted for a few years after college - it was heartbreaking to discover, after all that work, that it was so hard to make a living doing what I loved. Luckily the internet revolution came along in time to give me a new thing to love and a new opportunity. (I did work as a secretary for a few short years in between.)

 

What do you love the most about coding?

It’s a creative challenge. Building an app or a web site or a game or whatever you like is not so different from the process I use to design a new costume or a new piece of jewelry. You have a problem to solve, so you decide on an approach, then you implement it and watch it run. It’s an art, or at least shares many qualities with the artistic process. And there are always new directions to turn in, new skills to learn - it never stops being fascinating.

 

Why Django?

I was introduced to Django while working with an online advertising company almost 10 years ago. I dove into it, and have stayed with it all these years, largely because of the community. I do not work with Django exclusively, and I’ve been involved with many other open source communities since, but Django has an exceptional level of involvement, everyone’s helpful, everyone’s happy to share what they’ve learned. Ten years in, Django also remains the most feature-complete and best-documented framework I’ve worked with.

 

What cool projects are you working on at the moment/planning on working on in the near future?

Not actually a piece of software, but more software development teaching materials. I just got back from PyCon, where I (along with Katie Cunningham, Davin Baragiotta and David Cormier) taught Young Coders for the third year in a row. Young Coders has been a beginner class, but I’m working on an intermediate curriculum to debut at PyCon 2016 in Portland.

 

What are you the most proud of?

Probably Young Coders - although creating a kids’ class was not originally my idea, I’m so glad that PyCon organizers invited me to work on it a few years ago. Since then I’ve refined the curriculum a lot, and it just gets better every year. Seeing our students’ faces light up when they realize what they can do with Python never stops being a magical experience.

 

What are you curious about?

That changes every day. Today, it’s trying to wrap my head around what makes Solr4 tick. Tomorrow, it will be something different.

 

What do you like doing in your free time? What’s your hobby?

I used to spend all my free time hacking, but I’ve grown out of that. I do still work on occasional side projects, but for the most part, when my work day is done, I step away from the computer and do something that lets me work with my hands. I sew (I was a reenactor for a long time, so I’ve been making costumes even longer than I’ve been coding) and make jewelry. I recently took up stained glass, and I’m about to start classes in fused glass and PMC. I also crochet, paint, and do a lot of collage art.

 

Do you have any advice/tips for programming beginners?

“Don’t compare your behind the scenes to someone else’s highlight reel.” Programming is hard, and every programmer - even the experienced ones - has struggles. Just because you don’t see that, don’t assume you’re the only one.

Thanks Barbara! :)
image

Anna Ossowski

@OssAnna16


Squashing and optimizing migrations in Django

May 25 2015 [Archived Version] □ Published at RkBlog - Python, Linux, Astronomy under tags  django web framework tutorials

With Django 1.7 we got built in migrations and a management command to squash a set of existing migrations into one optimized migration - for faster test database building and to remove some legacy code/history. Squashing works, but it still has some rough edges and requires some manual work to get the best of a squashed migration. Here are few tips for squashing and optimizing squashed migrations.


Interpretation of a stop sign

May 24 2015 [Archived Version] □ Published at All Unkept under tags  christianity personal and misc

Interpretation of a stop sign


django-viewsets

May 24 2015 [Archived Version] □ Published at Latest Django packages added


Proud of Benjamin

May 24 2015 [Archived Version] □ Published at Shifting Bits by Patrick Altman

Our oldest, Benjamin, finished off his final year of elementary school with a bang, winning the honor of elementary student of the year. But that is not why I am so proud of him.

We only have Ben at home for a handful of short years and on one hand it frightens me how quickly time is passing us by but on the other hand, I am so excited to see what he does in life.

I know he is going to do great things, whatever he choses to do.

I feel so incredibly blessed to be his father. The depth of his feelings, the richness of his character, and the boldness of his quiet confidence are well beyond his years.

He has won plenty of awards and recognition for his grades and character over the years. That's not why I'm proud of him. He capped off his elementary career by winning the elementary student of the year honor. Again, that's not why I'm proud of him.

He makes excellent grades and scores well on any type of test. This, too, doesn't make me proud of him.

He has the respect and admiration of his classmates, his teachers, really any that have had the chance to get to know him. Once again, this is not why I am so very proud of him.

All these things that are great and I am excited for him to enjoy them. They do please me as a father but they please me because he gets to enjoy things he has earned and has worked hard for and has desired.

What makes me so proud of Ben is his heart, his courage, and his determination.

He has faced a number of really big fears, and he has faced them head on. Fears that only he and his mother and I have known about. Some of these fears involved becoming completely vulnerable to humilation in order to show the love of Christ to others. Some of these fears have been in risking very public failure.

In these cases he never whined, tried to run away, or hide. He was nervous, scared, and stressed, for sure, but he prayerfully faced all of them head on. He is only 11 years old and has already conquered goliaths many adults never have or will.

This is why I am so proud of Benjamin.


django-tz-detect

May 24 2015 [Archived Version] □ Published at Latest Django packages added


django-test-plus

May 24 2015 [Archived Version] □ Published at Latest Django packages added

Useful additions to Django's default TestCase


django-planet aggregates posts from Django-related blogs. It is not affiliated with or endorsed by the Django Project.

Social Sharing

Feeds

Tag cloud

admin administration adsense advanced ajax angularjs apache api app appengine app engine apple application security aprendiendo python architecture articles asides audrey authentication automation backup bash basics binary bitbucket blog blog action day blogging book books buildout business cache capoeira celery celerycam celerycrawler challenges chat cherokee choices class-based-views cliff cloud cms code codeship coding command community computer configuration continuous deployment continuous integration couchdb coverage css custom d data database databases db debian debugging deploy deployment deployment academy design developers development devops digitalocean django djangocon django-nose django-readonly-site django-rest-framework django-tagging django templates django web framework tutorials documentation dojango dojo dotcloud dreamhost dughh easy_install eclipse education email encoding english error events extensions fabric facebook family fashiolista fedora field file filter fix flash flask form forms frameworks friends fun gae gallery games geek general gentoo gis git github gmail gnome google google app engine guides gunicorn hack hackathon hacking hamburg haskell heroku holidays hosting howto how-to how-tos html http i18n image imaging indifex install installation intermediate internet ios iphone java javascript jobs journalism jquery json justmigrated linear regression linkedin linode linux login mac machine learning mac os x math memcached mercurial meta migration mirror misc model models mod_wsgi mongodb months mozilla multi-language mvc mysql nelenschuurmans newforms news nginx nodejs nosql ogólne openshift open source open-source orm osx os x ottawa paas patterns pelican performance personal philosophy php pi pil pinax pip piston planet plone plugin pony postgis postgres postgresql ppoftw presentation private programmieren programming programming & internet project projects pycon pygrunn pyladies pypi pypy python python3 quick tips quora rabbitmq rails rant ratnadeep debnath redis refactor release request resolutions rest reusable app review rtnpro ruby scaling science screencast script scripting security server setup simple smiley snaking software software development south sphinx sql ssh ssl static storage supervisor support svn sysadmin tag tag cloud talk nerdy to me tastypie tdd techblog technical technology template templates template tags test testing tests tip tools tornado transifex travel tumbles tutorial tutorials twisted twitter twoscoops typo3 ubuntu uncategorized unicode unittest unix user authentication usergroup uwsgi uxebu virtualenv virtualenvwrapper web web 2.0 web design & development webdev web development webfaction whoosh windows wordpress work workshop yada znc