Get GitHub Tickets IRL With A Raspberry Pi And A Receipt Printer

Thermal receipt printers are finding their way into all sorts of projects that are well beyond the point-of-sale environment that they normally inhabit. And while we applaud all the creative and artistic uses hackers have found for these little gems, this GitHub physical ticket printer has to be the best use for one yet.

According to [Andrew Schmelyun], seeing a fast-food order pop up on a thermal printer was the inspiration for this build. Maintaining over one hundred GitHub repos as he does, it’s easy for the details of any one bug report or feature request to get lost in the swarm of sticky notes that [Andrew] previously used to keep track of his work. To make it happen, he teamed an Epson thermal printer up to a Raspberry Pi Zero W and worked out the details of sending data to the printer using PHP. Luckily, there’s a library for that — the beauty of GitHub.

With the “Hello, World!” bit out of the way, [Andrew] turned his attention to connecting to GitHub. He set up some webhooks on the GitHub side to send a POST request every time an issue is reported on one of his repos. The POSTs are sent via ngrok to a PHP web server running on the Pi, which formats the data and sends the text to the printer. There’s a short video in the tweet below.

Between the sound of the printer working and the actual dead-tree ticket, it’ll be hard for [Andrew] to miss issues now. We’ve seen thermal printers stuffed into cameras, used to send pictures to Grannie, and even watched them commit suicide slowly, but we say hats off to [Andrew] for his solid work ethic and a fun new way to put a receipt printer to use.

Continue reading “Get GitHub Tickets IRL With A Raspberry Pi And A Receipt Printer”

PHP Gets A Demoscene Engine Of Its Very Own

When we think demoscene, our first thought is typically of 80s computers, particularly the Commodore 64 and Amiga 500 which were widely regarded as the awesomest of their time. However, you can write a demo on any platform you wish, and [OxABADCAFE] has done just that – in PHP.

Pretty, no?

Going by PDE, standing for Pointless, Portable, or PHP Demo Engine, the code is available on GitHub for the curious. The code is set up for RGB ASCII terminal output, for a beautifully old-school aesthetic. Demo sequences can be programmed in JSON files, with the code executing a default in-built demo if none is provided.

There’s no audio yet, so you’ll have to cool your thumping chiptune jets until that’s available in a later release. With that said, we look forward to more development expanding what can be done with the engine – after all, there’s nothing more demoscene than pushing the limits. Video after the break.

Continue reading “PHP Gets A Demoscene Engine Of Its Very Own”

Roll Your Own Photo Sharing, Minus The Social Networking Baggage

[Niklas Roy] rolled his own photo diary, because he found the core functionality of something like instagram attractive, but didn’t want the social network baggage that it came with. His simple system is called my own insta ;) and it consists of some javascript and PHP to create a nice progressive web app photo diary and backend that can be accessed just fine from a mobile device. It is available on GitHub for anyone interested in having their own.

This project came up because [Niklas] sometimes found himself working on small projects or experiments that aren’t destined for proper documentation, but nevertheless could benefit from being shared as a photo with a short description. This dovetails with what many social networks offer, except that those platforms also come with other aspects [Niklas] doesn’t particularly want. His online photo diary solves this by having a simple back end with which he can upload, sort, and caption photos in an easy way even from a mobile device.

Rolling one’s own solution to some small core functionality offered by a social network is one way to avoid all the extra baggage, but another method is to simply automate away all the pesky social bits with a robot.

Does PHP Have A Future, Or Are Twenty Five Years Enough?

In June, 1995, Rasmus Lerdorf made an announcement on a Usenet group. You can still read it.

Today, twenty five years on, PHP is about as ubiquitous as it could possibly have become. I’d be willing to bet that for the majority of readers of this article, their first forays into web programming involved PHP.

Announcing the Personal Home Page Tools (PHP Tools) version 1.0.

These tools are a set of small tight cgi binaries written in C.

But no matter what rich history and wide userbase PHP holds, that’s no justification for its use in a landscape that is rapidly evolving. Whilst PHP will inevitably be around for years to come in existing applications, does it have a future in new sites?

Continue reading “Does PHP Have A Future, Or Are Twenty Five Years Enough?”

search-console

Fooling Google Search Console With Tricky PHP

When [Steve] received a notice from Google that a new owner had been added to his Google Search Console account, he knew something was wrong. He hadn’t added anyone to his account. At first he thought it might be a clever phishing tactic. Maybe the email was trying to get him to click a malicious link. Upon further investigation, he discovered that it was legitimate. Some strange email address had been added to his account. How did this happen?

When you want to add a website to Google’s services, they require that you prove that you own the actual website as a security precaution. One method to provide proof is by uploading or creating an HTML file to your website with some specific text inside. In this case, the file needed to be called “google1a74e5bf969ded17.html” and it needed to contain the string “google-site-verification: googlea174e5bf969ded17.html”.

[Steve] logged into his web server and looked in the website directory but he couldn’t find the verification file. Out of curiosity, he tried visiting the web page anyways and was surprised to find that it worked. After some experimentation, [Steve] learned that if he tried to load any web page that looked like “googleNNNNNNN.html”, he would be presented with the corresponding verification code of “google-site-verification: googleNNNNNNNN.html”. Something was automatically generating these pages.

After further investigation, [Steve] found that some malicious PHP code had been added to his website’s index.php page. Unfortunately the code was obfuscated, so he couldn’t determine exactly what was happening. After removing the new code from the index.php file, [Steve] was able to remove the hacker’s email address from [Steve’s] Google account.

This is a very interesting hack, because not only did it allow this one hacker to add himself to [Steve’s] Google account, but it would also have allowed anyone else to do the same thing. This is because each new hacker would have been able to fool Google’s servers into thinking that they had uploaded the verification file thanks to the malicious PHP code. It makes us think that perhaps Google’s verification system should use a separate randomized string inside of the verification file. Perhaps one that can’t be guessed or calculated based on known variables such as the file name.

Bread Online

Bread Online Is A Bread Maker For The Internet Of Things

An engineering student at the University of Western Macedonia has just added another appliance to the ever-growing list of Internet enabled things. [Panagiotis] decided to modify an off-the-shelf bread maker to enable remote control via the Internet.

[Panagiotis] had to remove pretty much all of the original control circuitry for this device. The original controller was replaced with an Arduino Uno R3 and an Ethernet shield. The temperature sensor also needed to be replaced, since [Panagiotis] could not find any official documentation describing the specifications of the original. Luckily, the heating element and mixer motor were able to be re-used.

A few holes were drilled into the case to make room for the Ethernet connector as well as a USB connector. Two relays were used to allow the Arduino to switch the heating element and mixer motor on and off. The front panel of the bread maker came with a simple LCD screen and a few control buttons. Rather than let those go to waste, they were also wired into the Arduino.

The Arduino bread maker can be controlled via a web site that runs on a separate server. The website is coded with PHP and runs on Apache. It has a simple interface that allows the user to specify several settings including how much bread is being cooked as well as the desired darkness of the bread. The user can then schedule the bread maker to start. Bread Online also comes with an “offline” mode so that it can be used locally without the need for a computer or web browser. Be sure to check out the video demonstration below. Continue reading “Bread Online Is A Bread Maker For The Internet Of Things”

Automated Aquarium Is Kitchen-Sinky

fishtankAutomation

People have been converting their old Power Macs and Mac G5s into fish tanks for a few years now, but [Hayden’s] Internet-enabled tank is probably the most awesome ever crammed into an aquarium along with the water and the fish—and we’ve seen some fascinating builds this summer. After gutting the G5 and covering the basic acrylic work, [Hayden] started piling on the electronics: a webcam, timed LED lighting, an LCD for status readouts, filter and bubble control via a servo, an ultrasonic sensor to measure water levels, thermometer, scrolling matrix display, an automatic feeding mechanism, and more. He even snuck in the G5’s old mainboard solely for a cool backdrop.

The build uses both a Raspberry Pi and an Arduino Mega, which sit underneath the tank at the base. The Pi provides a web interface written in PHP and jQuery, which presents you with the tank’s status and allows changes to some settings. Nearly every component received some form of modification. [Hayden] stripped the webcam of its case and replaced the enclosure with a piece of acrylic and a mountain of silicone, making it both waterproof and slim enough to fit in the appropriate spot. Though he decided to stick with an Amazon-bought Eheim fish feeder, he disabled the unit’s autofeed timer and tapped in to the manual “feed” button to integrate it into his own system.

It’d take half of the front page to explain the rest of this thing. We’ve decided to let the aquarium tell you the rest of its features in the video below. Yeah…it can talk.

Continue reading “Automated Aquarium Is Kitchen-Sinky”