Making An Update Server For PythonAnywhere And GitHub

Cloud based IDEs and development tools have grown over the years, though most have limitations in their free tiers and may not be fully compatible with other services such as GitHub. [Aadi Bajpai] loved using PythonAnywhere and to collaborate using GitHub, so he made a update server that automatically updates the running code once you make a push to Github

PythonAnywhere gives you access to a python shell over a web browser, and also lets you run a web app that can be accessed via a custom sub-domain. Even though it does not have direct integration with GitHub, you can drop to the bash shell to and get access to a git client.

For this hack, [Aadi Bajpai] utilizes the webhooks from GitHub that are triggered when a push event is detected. A flask server running on PythonAnywhere is written such that once triggered by the get POST request, it locally executes a git pull from the repository. There a bit more work that allows adding a bit of security sauce to the recipe but it is a pretty elegant solution and can be used for other cases as well.

Setting up alert notifications has been demonstrated to be an interesting task, though integrating Discord or Slack for notifications adds a little more bragging rights.

The PewPew Console Is Coming To EuroPython 2019

EuroPython is a community-run developer conference, which began back in Belgium in 2002. In 2019, it’s happening in Basel, Switzerland from July 8 to 14, and there’s a special surprise in store for attendees this year. Conference attendees with be provided with a PewPew console for their hacking pleasure!

An earlier version of the PewPew handheld. There have been many and varied revisions of the hardware.

We’ve featured the project before on these hallowed pages; the earlier PewPew Featherwing console was a finalist in the 2017 Hackaday Prize Best Product Competition. At EuroPython, attendees will get to tinker with a special conference edition, which is the latest version of a long line of development versions. It runs the same microcontroller – ATSAMD21E18A – as the Adafruit Trinket M0, and is programmable with CircuitPython. The conference edition comes with a large 60 mm x 60 mm LED matrix, as well as an orange PCB with blue buttons to match the color scheme of the event.

We wager that conference attendees will enjoy hacking on the handheld console, and it makes a great platform for anyone who is new to embedded development with the Python language. Similar to badges, it makes a great pack-in for patrons, and the conference should be all the more enjoyable for it!

The Feather “FAUXBERRY” Is Now A Real Thing

Last month we featured an interesting project from Hackaday.io that was essentially trying to recreate the iconic Blackberry form factor for use with Adafruit’s line of Feather development boards. This would let you drop in modules for everything from LTE to packet radio, opening up a nearly limitless possibilities for handheld hacking. The only problem was, it didn’t actually exist yet.

But recently creator [arturo182] wrote in to tell us that not only had all the parts arrived, but that he’d completed assembly of the first prototype. He even put together a video about the current status of the device, which you can see after the break. The short version is: it works, and it looks fantastic.

For those who might not have seen this project the first time around, the front features a 2.6 inch 320×240 touch screen display, four general purpose buttons, a RGB NeoPixel LED for visual status display, a five way joystick, and what’s arguably the star of the show, a QWERTY keyboard originally designed for the Blackberry Q10. Around the back it has an SD card slot, a socket for the Feather module of your choice, and some handy GPIO expansion pads you can attach your own hardware onto.

[arturo182] says he’s looking at a couple cosmetic changes, but on the whole, everything works and he considers the PCB essentially done. He’ll soon be sending out a handful of test units to individuals who’ve expressed interest in helping him develop the project and then…well, he’s not really sure what’s going to happen then. Some kind of commercial release seems like the logical conclusion given the interest he’s already seen in the project, but he hasn’t quite worked out whether that will be a kit or as assembled devices.

Until then, anyone who’s looking for a pocket sized device that will let them bang out some Python with a physical keyboard will have to stick with their TI-83s.

Continue reading “The Feather “FAUXBERRY” Is Now A Real Thing”

Reverse Engineering Dropbox

These days everyone talks about data “in the cloud.” However, before that phrase was fashionable, there were a few pioneers and one of the most famous of these is Dropbox — a service that let you store files on a remote server that dates back to 2007. [Vincent Berg] first noticed some odd network traffic on a hotel network, and figured out that it was a feature of Dropbox that allows computers on the same network to update each other. This led him to start investigating the undocumented Dropbox protocol and reverse engineering the Linux client.

We won’t ask why [Vincent] was poking around the hotel network to start with. However, a cursory glance at the Dropbox client gave away that it was using Python. The byte-compiled classes were — at the time — in a ZIP file added to the executable (which was nothing but a modified copy of Python). The files were encrypted, but [Vincent] used a clever technique. He built a shared object using normal Python and put a backdoor in it that gave him access to the Dropbox Python interpreter.

Continue reading “Reverse Engineering Dropbox”

Luxmeter Meets Linux

Over the past 30 years the price of hardware has slowly but surely come down, and it’s now possible to buy all manner of widgets and gizmos online for less than the price of a fancy Italian dinner. By and large this is a good thing, but it’s not uncommon to find that your new tools are let down by the software side of things. Of course, you can always develop your own solution – and in [ThePhil]’s case, that’s exactly what he did.

The hardware in question was a PCE-174 luxmeter, which came with an uncooperative Windows application as standard. This simply wouldn’t do, so [ThePhil] set about developing a Linux version in Python. This was achieved through the aid of documentation, not of the PCE-174, but its sibling from another corporation – the Extech HD450. The two meters were similar enough that the Extech’s better documentation was able to fill in the gaps of [ThePhil]’s understanding.

[ThePhil] has diligently implemented the full feature set of the PCE-174, and has documented the project well. There are even notes on the version numbers of various dependencies, which will surely be a great help if someone’s trying to run the code five years down the track.

It’s a great lesson that one need not be at the mercy of the software one is given. For a great many cases, it’s possible to roll your own solutions that are robust and get the job done. This approach can be taken to great lengths – you can go so far as replacing an entire camera firmware, if you so wish.

 

TI-83 Gets CircuitPython Upgrade

Graphing calculators are an interesting niche market these days. They’re relatively underpowered, and usually come with cheap, low resolution screens to boot. They remain viable almost solely due to their use in education and the fact that their limited connectivity makes them suitable for use in exams. The market is starting to hot up, though – and TI have recently been doing some interesting work with Python on their TI-83.

Rumor has it that TI have been unable to get Python to run viably directly on the TI-83 Premium CE. This led to the development of the TI-Python peripheral, which plugs into the calculator’s expansion port. This allows users to program in Python, with the TI-Python doing the work and the calculator essentially acting as a thin client. The chip inside is an Atmel SAMD21E18A-U, and is apparently running Adafruit’s CircuitPython platform.

This discovery led to further digging, of course. With some hacking, the TI-Python can instead be replaced with other boards based on Atmel SAMD21 chips. For those of you that aren’t in Atmel’s sales team, that means it’s possible to use things like the Adafruit Trinket M0 and the Arduino Zero instead, when flashed with the appropriate CircuitPython firmware. It’s a tricky business, involving USB IDs and some other hacks, but it’s nothing that can’t be achieved in a few hours or so.

This is a hack in its early days, so it’s currently more about building a platform at this stage rather then building fully-fledged projects just yet. We’re fully expecting to see Twitter clients and multiplayer games hit the TI-83 platform before long, of course. When you’ve done it, chuck us a link on the tip line.

[Thanks to PT for the tip!]

Python And The Internet Of Things Hack Chat

Join us Wednesday at noon Pacific time for the Python and the Internet of Things Hack Chat!

Opinions differ about what the most-used programming language in right now is, but it’s hard to deny both the popularity and versatility of Python. In the nearly 30 years since it was invented it has grown from niche language to full-blown development environment that seems to be everywhere these days. That includes our beloved microcontrollers now with MicroPython, and Adafruit’s CircuitPython, greatly lowering the bar for entry-level hackers and simplifying and speeding development for old hands and providing a path to a Python-powered Internet of Things.

The CircuitPython team from Adafruit Industries – Dan Halbert​, Kattni Rembor​, Limor “Ladyada” Fried​, Phillip Torrone​, and Scott Shawcroft – will drop by the Hack Chat to answer all your questions about Python and the IoT. Join us as we discuss:

  • How CircuitPython came to be;
  • The range of IoT products that support Python;
  • Getting started with Python on IoT devices; and
  • What’s on the horizon for a Python-powered IoT?

And as extra enticement, we’ll be giving away five free one-year passes to ​Adafruit.io​! We’ll draw five names at random from the list of Hack Chat attendees. Stop by for a chance to win. And, the Adafruit team will be streaming video live during the Hack Chat as well.

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the Python and the Internet of Things Hack Chat and we’ll put that in the queue for the Hack Chat discussion.

join-hack-chatOur Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, April 3, at noon, Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.

Want a quick peek at what’s possible with CircuitPython? Check out this PyPortal event countdown timer that just happens to be counting down the hours till the next Hack Chat.