Sci-Hub: Breaking Down The Paywalls

There’s a battle going on in academia between the scientific journal publishing companies that have long served as the main platform for peer review and spreading information, and scientists themselves who just want to share and have access to the work of their fellows. arxiv.org launched the first salvo, allowing researchers in physics to self-publish their own papers, and has gained some traction in mathematics and computer science. The Public Library of Science journals focus on biology and medicine and offer peer review services. There are many others, and even the big firms have been forced to recognize the importance of open science publication.

But for many, that’s still not enough. The high prestige journals, and most past works, are stuck behind paywalls. Since 2011, Sci-Hub has taken science publishing open by force, illegally obtaining papers and publishing them in violation of copyright, but at the same time facilitating scientific research and providing researchers in poorer countries with access that their rich-world colleagues take for granted. The big publishing firms naturally fought back in court and won, and with roughly $20 million of damages, drove Sci-Hub’s founder underground.

Continue reading “Sci-Hub: Breaking Down The Paywalls”

Measuring The Cooling Effect Of Transformer Oil

Transformer oil has long served two purposes, cooling and insulating. The large, steel encased transformers we see connected to the electrical grid are filled with transformer oil which is circulated through radiator fins for dumping heat to the surrounding air. In the hacker world, we use transformer oil for cooling RF dummy loads and insulating high voltage components. [GreatScott] decided to do some tests of his own to see just how good it is for cooling circuits.

Thermal measurement resultsHe started with testing canola oil but found that it breaks down from contact with air and becomes rancid. So he purchased some transformer oil. First, testing its suitability for submerging circuits, he found that he couldn’t see any current above his meter’s 0.0 μA limit when applying 15 V no matter how close together he brought his contacts. At 1 cm he got around 2 μA with 230 VAC, likely from parasitic capacitance, for a resistance of 115 Mohm/cm.

Moving on to thermal testing, he purchased a 4.7 ohm, 100 watt, heatsink encased resistor and attached a temperature probe to it with Kapton tape. Submerging it in transformer oil and applying 25 watts through it continuously, he measured a temperature of 46.8°C after seven minutes. The same test with distilled water reached 35.3°C. Water’s heat capacity is 4187 J/kg∙K, not surprisingly much better than the transformer oil’s 2090 J/kg∙K which in turn is twice as good as air’s 1005 J/kg∙K.

He performed a few more experiments but we’ll leave those to his video below.

We’ve run across a number of tests running boards submerged in various oils before. For example, we’ve seen Raspberry Pi’s running in vegetable oil and mineral oil as well as an Arduino running in a non-conductive liquid coolant, all either overclocked or under heavy load.

Continue reading “Measuring The Cooling Effect Of Transformer Oil”

3D Printering: Blender Tips For Printable Objects

3D models drawn in Blender work great in a computer animated virtual world but don’t always when brought into a slicer for 3D printing. Slicers require something which makes sense in the real world. And the real world is far less forgiving, as I’ve found out with my own projects which use 3D printed parts.

Our [Brian Benchoff] already talked about making parts in Blender with his two-part series (here and here) so consider this the next step. These are the techniques I’ve come up with for preparing parts for 3D printing before handing them off to a slicer program. Note that the same may apply to other mesh-type modeling programs too, but as Blender is the only one I’ve used, please share your experiences with other programs in the comments below.

I’ll be using the latest version of Blender at this time, version 2.79b. My printer is the Crealty CR-10 and my slicer is Cura 3.1.0. Some of these steps may vary depending on your slicer or if you’re using a printing service. For example, Shapeways has instructions for people creating STLs from Blender for uploading to them.

Continue reading “3D Printering: Blender Tips For Printable Objects”

Advent Calendar Tracks The Days Until Christmas

Internet-connected Advent calendarWhat’s a hacker to do when Halloween’s over and a new source of ideas is needed for more hacks? Make something for Christmas of course. That’s what [Dario Breitenstein] did when he made his Advent calendar both as a decoration and to help instill some Christmas spirit.

Designed in SketchUp, it’s a WS2812 LED strip mounted in a clean looking walnut enclosure. The light diffuses through 3D-printed PETG lids with vinyl over them to outline the days. Naturally, it had to be Internet-connected and so an ESP8266 based WEMOS D1 mini board fetches the date and time from an NTP server. Sundays light up in red and Christmas Eve in purple.

This appears to be just the thing hackers like [vk2zay] could use for inspiration during their sort-of-annual Advent Calendar of Circuits wherein a different circuit is made each day leading up to Christmas.

Breathing Underwater Using Wind Power

As hackers, our goal is to reuse something in a way in which it was not intended and [Rulof Maker] is a master at this. From his idyllic seaside location in Italy, he frequently comes up with brilliant underwater hacks made of, well, junk. This time he’s come up with a wind-powered pump to move air through a hose to a modified scuba mask.

The wind turbine’s blades look professional but you’ll be surprised to see that they’re simply cut from a PVC pipe. And they work great. The air compressor is taken from a car and the base of the wind turbine’s tower started life as a bed frame. As you’ll see in the video below, the whole setup is quite effective. It would have been nice to see him using his leg mounted, beer bottle propulsion system at the same time, but the air hose may not have been long enough to make good use of them.

Continue reading “Breathing Underwater Using Wind Power”

Piano Genie Trained a Neural Net to Play 88-Key Piano with 8 Arcade Buttons

Want to sound great on a Piano using only your coding skills? Enter Piano Genie, the result of a research project from Google AI and DeepMind. You press any of eight buttons while a neural network makes sure the piano plays something cool — compensating in real time for what’s already been played.

Almost anyone new to playing music who sits down at a piano will produce a sound similar to that of a cat chasing a mouse through a tangle of kitchen pots. Who can blame them, given the sea of 88 inexplicable keys sitting before them? But they’ll quickly realize that playing keys in succession in one direction will produce sounds with consistently increasing or decreasing pitch. They’ll also learn that pressing keys for different lengths of times can improve the melody. But there’s still 88 of them and plenty more to learn, such as which keys will sound harmonious when played together.

Piano Genie training architectureWith Pinao Genie, gone are the daunting 88 keys, replaced with a 3D-printed box of eight arcade-style buttons which they made by following this Adafruit tutorial. A neural network maps those eight buttons to something meaningful on the 88-key piano keyboard. Being a neural network, the mapping isn’t a fixed one-to-one or even one-to-many. Instead, it’s trained to play something which should sound good taking into account what was play previously and won`t necessarily be the same each time.

To train it they use data from the approximately 1400 performances of the International Piano e-Competition. The result can be quite good as you can see and hear in the video below. The buttons feed into a computer but the computer plays the result on an actual piano.

For training, the neural network really consists of two networks. One is an encoder, in this case a recurrent neural network (RNN) which takes piano sequences and learns to output a vector. In the diagram, the vector is in the middle and has one element for each of the eight buttons. The second network is the decoder, also an RNN. It’s trained to turn that eight-element vector back into the same music which was fed into the encoder.

Once trained, only the decoder is used. The eight-button keyboard feeds into the vector, and the decoder outputs suitable notes. The fact that they’re RNNs means that rather than learning a fixed one-to-many mapping, the network takes into account what was previously played in order to come up with something which hopefully sounds pleasing. To give the user a little more creative control, they also trained it to realize when the user is playing a rising or falling melody and to output the same. See their paper for how the turned polyphonic sound into monophonic and back again.

If you prefer a different style of music you can train it on a MIDI collection of your own choosing using their open-sourced model. Or you can try it out as is right now through their web interface. I’ll admit, I started out just banging on it, producing the same noise I would get if I just hammered away randomly on a piano. Then I switched to thinking of making melodies and the result started sounding better. So some music background and practice still helps. For the video below, the researcher admits to having already played for a few hours.

This isn’t the first project we’ve covered by these Google researchers. Another was this music synthesizer again using neural networks but this time with a Raspberry Pi. And if our discussion of recurrent neural networks went a bit over your head, check out our overview of neural networks.

Continue reading “Piano Genie Trained a Neural Net to Play 88-Key Piano with 8 Arcade Buttons”

Performing A Chip Transplant To Resurrect A Dead Board

[Uri Shaked] accidentally touched a GPIO pin on his 3.3 V board with a 12 V alligator clip, frying the board. Sound familiar? A replacement would have cost $60, which for him wasn’t cheap. Also, he needed it for an upcoming conference so time was of the essence. His only option was to try to fix it, which in the end involved a delicate chip transplant.

Removing the shield on the Bluetooth LE boardThe board was the Pixl.js, an LCD board with the nRF52832 SoC with its ARM Cortex M4, RAM, flash, and Bluetooth LE. It also has a pre-installed Espruino JavaScript interpreter and of course the GPIO pins through which the damage was done.

Fortunately, he had the good instinct to feel the metal shield over the nRF52832 immediately after the event. It was hot. Applying 3.3 V to the board now also heated up the chip, confirming for him that the chip was short-circuiting. All he had to do was replace it.

Digging around, he found another nRF52832 on a different board. To our surprise, transplanting it and getting the board up and running again took only an hour, including the time to document it. If that sounds simple, it was only in the way that a skilled person makes something seem simple. It included plenty of delicate heat gun work, some soldering iron microsurgery, and persistence with a JLink debugger. But we’ll leave the details of the operation and its complications to his blog. You can see one of the steps in the video below.

It’s no surprise that [Uri] was able to dig up another board with the same nRF52832 chip. It’s a popular SoC, being used in tiny, pocket-sized robots, conference badges, and the Primo Core board along with a variety of other sensors.

Continue reading “Performing A Chip Transplant To Resurrect A Dead Board”