tag:blogger.com,1999:blog-89529535253232660072024-03-21T21:53:48.567+01:00English DrummerMusician, electronic guy, petrolhead. I talk shit here. Because fuck off.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.comBlogger436125tag:blogger.com,1999:blog-8952953525323266007.post-21175797080493735792023-01-16T02:34:00.003+01:002023-01-16T02:34:36.002+01:00PC/laptop auto power ON schematic when AC is connected<p>With this simple schematic you can make your PC turn ON when AC is connected, if this behaviour is not possible to achieve by tweaking your BIOS/UEFI. This is a custom circuit I designed for my particular laptop but it should work in most computers.</p><p>The blue area represents the circuit to build while the outside indicates the parts that are present in the mother board. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://i.imgur.com/xisTDe8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="531" data-original-width="800" height="425" src="https://i.imgur.com/xisTDe8.png" width="640" /></a></div><br /><br /><p></p><p>When power is applied to the circuit through R4, Q1 simulates the user pushing the power ON button. This pushing is stopped when the power ON LED is activated due to the computer being turned ON.</p><p>Note that the supply 3.3V or 5V must be present in standby before the computer is started. I tapped 5V from the battery charging LED.</p><p>Hope it helps someone.</p>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-71569284767372841102022-07-02T23:30:00.001+02:002022-07-02T23:30:49.859+02:00Photography cheating scale. How much of a cheater are you?<p> Here is my photography cheating scale for rating what's cheating and what's not:</p><h2 style="text-align: left;">Level 0. No cheating.</h2><div>Applying modifications that affect the entire photo. </div><div>Basically, most of the things that can be done on Lightroom. This is not considered cheating. Eg. Modifying white balance, color tone, exposure. shadows, highlights...</div><div><br /></div><div><h2>Level 1. Basic cheating.</h2></div><div>Editing elements of the photo.</div><div>E.g. The photo has the moon in the background and you make it bigger.</div><div><br /></div><div><h2>Level 2. Medium cheating.</h2></div><div>Editing the elements of the photo by obtaining material from another photo that you took at the same time.</div><div>E.g. In the background there is a bird flying and you add another one from another picture that you took at the same moment.</div><div><br /></div><div><h2>Level 3. Extreme cheating.</h2></div><div><div>Editing the elements of the photo by obtaining material from a photo of another person (the internet).</div><div>E.g. You change the sky in your photo for other one from the internet.</div></div><div><br /></div><div><br /></div><div><br /></div><div>How much of a cheater are you?</div>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-83835561738075780792022-04-14T23:53:00.000+02:002022-04-14T23:53:36.780+02:00DIY simple PC fan/cooler speed regulator with LM317T<p>After wasting some time online, I was surprised I couldn't find any simple LM317T schematic for PC fan speed regulation with a potentiometer. WTF?</p><p>So I share my version. The values are intended to be easy to find lying around.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://i.imgur.com/IlXYeqm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="403" data-original-width="800" height="301" src="https://i.imgur.com/IlXYeqm.png" width="598" /></a></div><p>Worth noting:</p><p>- As with any LM317 based schematic, the maximum output won't reach 12V but a bit less.</p><p>Le me know if you found this useful.</p>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-84879880904285029632022-04-14T23:18:00.000+02:002022-04-14T23:18:14.875+02:00DIY 3.5" hard drive power supply for USB cable<p> I got this USB interface from Aliexpress that allows you to connect any HDD/SSD to your USB ports.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://i.imgur.com/bYIv7JX.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="312" data-original-width="387" height="312" src="https://i.imgur.com/bYIv7JX.png" width="387" /></a></div>Unfortunately 3.5" hard drives need external power in order to work. You can get this power from a ATX power supply or from a dedicated hard drive power supply that can be found online.<div><br /></div><div>To keep my shit low cost I built my own power adapter with things I had around. I used:</div><div><br /></div><div>- <b>12V 2A power supply</b>. Got it from an old router.</div><div>- <b>Mini 360 DCDC converter. </b>Dead cheap from Aliexpress, so useful. Must have several at home.</div><div>- <b>SATA or IDE power connector. </b>Chopped from an old ATX power supply.<br /><p>The build is so simple:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://i.imgur.com/MmGt0KY.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="304" data-original-width="800" height="267" src="https://i.imgur.com/MmGt0KY.png" width="702" /></a></div>Worth noting:</div><div>- The Mini360 output voltage is adjustable with the potentiometer on top. You need to set it to around 5V with a multimeter.</div><div>- Wall adapters with lower output current than 2A will almost surely not work due to the required start up current of the HDD. (Tried with 1.5 A, didn't work).</div><div>- I used a piece of heat-shrink tubing to cover the mini360 and make it neat in the middle of the cable.</div><div><br /></div><div>Let me know if you found it useful.<br /><p><br /></p></div>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-43482677198145619902022-04-08T18:12:00.000+02:002022-04-27T00:04:52.761+02:00Olympus M.Zuiko Digital 14-42 mm II R vs EZ (pancake)<p> If you doubt about what lens is better among the 14-42 II R and EZ, let me tell you what I found. This is a compilation of all the info that I found online. I'm no expert. This may save you some time.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://i.imgur.com/cfswyrE.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="223" data-original-width="579" height="223" src="https://i.imgur.com/cfswyrE.png" width="579" /></a></div><br /><p>The only advantage of the EZ is the small size, period. It seems it depends on your specific unit how well it performs. At best you can get the same results as with the IIR. At worst people seem to experience vignette and/or a little bit of lack of sharpness on the edges. It seems a mixed opinion. In any case, no one claimed to obtain better picture quality with the EZ. </p><p>The electronic zoom on the EZ seems to be slow and significantly less easy to operate due to the electronic control. A noticeable amount of users reported issues with the electronics that required servicing the lens giving the impression that it's less robust than the manual IIR.</p><p>On the other hand, the IIR seems to be better at everything other than the size. Regarding this, the difference is only 25 mm in length more than the EZ which isn't a big deal. </p><p>I think the IIR is the one to go. I reckon the only case in which the size can make a difference is if you wear a big jacket because you can fit the camera with the EZ and not with the IIR. However wearing any other clothes you're going to need a bag or something else anyway. Even if it fits your clothes, will you carry it like that?</p><p><br /></p>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-10472990895261350652021-06-30T23:35:00.002+02:002021-06-30T23:35:43.778+02:00Soehnle scale software tricks users <p>I own a Soehnle Style Sense Safe 100 scale and it feels like it's a quality product. Also, the German brand Soehnle is reputable to my knowledge.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://images-na.ssl-images-amazon.com/images/I/61NfTEHbJwL._AC_SX425_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="232" data-original-width="425" src="https://images-na.ssl-images-amazon.com/images/I/61NfTEHbJwL._AC_SX425_.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;">Picture stolen from Amazon</div><br /><p>The thing is, I recently discovered how the brand tricks the users into thinking the scale has perfect measurement exactitude. This is not difficult to notice because when using it to weight the same thing several times during a short period of time, it is strangely always spot on. So, based on my observations, I presume this is what the software does to trick the user:</p><p>1. When using it the first time, it stores the measurement of let's say 70 kg.<br />2. If it's used to weight the same thing several times in a short period of time, the measurement is performed as usual but just before displaying the final result, the previous stored value of 70 kg is recalled and showed, tricking the user into thinking, the scale measured the same.<br />3. If the scale detects that it is being used to weigh something that differs a certain amount (maybe 500 g more or less) than the last stored measurement, then it forgets that stored value and show the real measured one.<br />4. After some timeout that I didn't test (maybe 5 min, 1 hour, who knows...) the scale, as in point 3, forgets the value stored and performs a 'real' measurement again when it is used.</p><p>One can test the above by using it with a object A, then with an object B of different enough weight, and then back with A. In the last try, Object A will almost for sure show a drifted result, maybe by 100 g, 300 g or even 400 g. Now we are seeing here the truth.</p><p>That's all, I though it was interesting to share this. To a common user, this not only would be unnoticeable but also, will leave an impression of a wonderful product that always measures the same. However, not everyone can be tricked so easy. </p>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-89060780459564290262020-06-14T18:10:00.000+02:002020-06-14T18:10:38.818+02:00Motorcycle cheap Aliexpress clock voltmeter thermometerHello, this time I want to rant about this cheap thing I bought for my motorcycle:<div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/proxy/AVvXsEjBGCltNwISpx0ocFMW-iUOGB4yjqdmo_49m8LfRuBZbx26QujJvrvCOQq7L5dxWhnd8VvhHRFeeSihxM3VjR1n0Oi0ki8Qf89VFtZiKShYDgLEx_J8NYL3hDSxOHiw3Q=s391" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="206" data-original-width="391" src="https://blogger.googleusercontent.com/img/proxy/AVvXsEjBGCltNwISpx0ocFMW-iUOGB4yjqdmo_49m8LfRuBZbx26QujJvrvCOQq7L5dxWhnd8VvhHRFeeSihxM3VjR1n0Oi0ki8Qf89VFtZiKShYDgLEx_J8NYL3hDSxOHiw3Q=s320" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">Picture stolen from an Aliexpress user</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">This is actually the second one I buy. The one I bought first cost me double and was a double piece of shit because it was so dim, I couldn't see shit while riding during the day.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The one I bough this time has the looks like the one in the picture, a fake Rizoma. It's funny because looking at the pictures of the users, it seems like each one gets one slightly different. The white letters, the size and the package differs from one user to another.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Anyway, I wanted to share some measurements I made to check how shitty these things are and this is what I found:</div><div class="separator" style="clear: both; text-align: left;">- <b>Voltage measurement:</b> Resolution is 0.1 V. The measurement seems to be off by -0.1 V consistently across the hole range. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Opinion: This maybe caused by some diode in series to protect against backwards connections. Considered how easy it is to achieve a proper 0.1 V resolution voltage measurement, this shit is totally unacceptable. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">- <b>Temperature measurement</b>: Resolution is 1 ºC. The measurement error differs but generally it's 1 to 2 degrees off the right value.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Opinion: The temperature is sensed with an NTC. Considered how easy it is to achieve a proper 1 degree resolution voltage measurement, again this is totally unacceptable. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">-<b> Current consumption during operation</b>: approx 30 mA.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Opinion: This really doesn't matter much, 30 mA is the typical power used by a multiplexed LED segment display plus some bits of circuitry more. Nothing new here.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div>- <b>Current consumption during standby</b>: approx 3.9 mA.</div><div><br /></div><div>Opinion: This is absolutely huge power for standby. This can empty a full 6 Ah battery in a couple of months. This is not a surprise though... A regulator that can achieve standby consumption in the uA range is expensive, no way this was going to fit it.</div><div><br /></div><div>Conclusion:</div><div>The specs of this cheap shit are completely out of the acceptable and the performance is pretty poor. This piece of crap belongs in the bin. </div><div><br /></div><div>However did I installed in the bike? Yes. 2 simple reasons:</div><div>- This cost under $4 while the original Koso Mini 3 is near $100 or in some places even more! Unfuckingbelievable! </div><div>- There seems to be no better alternative that has the 3 features of this one for a reasonable price of let's say, maybe $15 or $20. So, I think I'll live with one this for now. </div><div><br /></div><div><br /></div>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-25073650624552411082020-05-13T19:00:00.000+02:002020-05-13T19:00:00.913+02:00Edifier S350DB high pitch noise defectI bought these speakers for all the good opinions in the internet and it seems like there are many units with a manufacturing defect that involves a high pitch noise. Symptoms are:<br />
<br />
- High pitch noise independent of speaker volume<br />
- Only happens in Bluetooth, PC and AUX modes.<br />
- Temperature dependent. As the unit warms up (after 10 min), the noise gets lower but never disappears. The colder the room, the worst.<br />
<br />
I captured this picture with a spectrum analyser app:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/iJ3Ljxy.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="352" data-original-width="800" height="175" src="https://i.imgur.com/iJ3Ljxy.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You can see, it detected a peak around 4.4 kHz. This peak starts with higher frequency and amplitude when the unit is cold. As it warms up, it rolls down until maybe 1 or 2 kHz.</div>
<br />
<br />
I investigated the problem. The sound amplification electronics are in the subwoofer box. It seemed like there was a problem with a switching power supply that steps down 20V from the main PSU to 5V for other parts of the circuitry. This noisy supply is controlled by a AOZ1210 IC. If one blows or apply heat to this IC, the noise frequency changes very noticeably.<br />
<br />
I observed with an oscilloscope the supply output but no noise was being injected. This made me think, the noise wasn't being produced at the output but could be inductively coupled to other part of the PCB.<br />
<br />
After this I decided to return the speakers, since, this was a manufacturer problem, not mine.<br />
<br />
<b>The replacement</b><br />
<b><br /></b>
The replacement speakers luckily worked fine. There was no noise at all.<br />
<br />
As for the serial numbers, this new unit was manufactured actually before the defective one.<br />
<br />
Defective unit SN: 441405044429<br />
New unit SN: 441405042325<br />
<br />
I try to visually inspect the PCBs of both units but couldn't notice any differences. The PCB revision was the exact same one, so no layout changes. The codes written in the AOZ1210 package were also the same ones.<br />
<br />
The defective:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/epuH7D2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="531" data-original-width="800" height="265" src="https://i.imgur.com/epuH7D2.jpg" width="400" /></a></div>
<br />
The new:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/GOI7KdU.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="513" data-original-width="800" height="256" src="https://i.imgur.com/GOI7KdU.jpg" width="400" /></a></div>
<br />
(The IC and the supply circuitry are located in the bottom right corner, next to the antenna).<br />
<br />
<b>The remote</b><br />
Just as a remark, in my first unit the remote needed to be pointed exactly to the receiver in the speaker. It was very tricky but now I feel it's better. (BTW, the battery was more than OK).<br />
<br />
<b>Bottom line</b><br />
<b><br /></b>
I couldn't really tell what was the reason of the problem. but if you are in the same situation as I was, return them.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com21tag:blogger.com,1999:blog-8952953525323266007.post-84085446477440036372020-03-31T00:27:00.001+02:002020-03-31T00:27:10.835+02:00Drivers for CSR 4.0 Bluetooth dongleHello,<br />
<br />
I bought this cheap dongle from Ebay because the built-in bluetooth device in my laptop is shit and produces high pitch distortion when connected to HiFi bluetooth speakers.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://i.imgur.com/kXtEv7Z.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="431" data-original-width="431" height="320" src="https://i.imgur.com/kXtEv7Z.jpg" width="320" /></a></div>
<br />
<br />
According to all Ebay sellers, this is plug and play but in that case you get the generic drivers from Microsoft. In my computer these drivers where such a piece of shit that the laptop couldn't even establish a connection with the speakers.<br />
<br />
After lots of search, I found the proper proprietary drivers from Cambridge Silicon, which seems to be a shut company now.<br />
<br />
Here there are for you. I got them running on Windows 8.1. Can't say for sure if this will run on Windows 10. Please, if someone tries, comment the result.<br />
<br />
DOWNLOAD:<br />
<a href="https://mega.nz/#!VccTjABB!s0qW3sLvLB30-ARn72Vmot5OdA3KjlXcmQDZ4G2IFEI">https://mega.nz/#!VccTjABB!s0qW3sLvLB30-ARn72Vmot5OdA3KjlXcmQDZ4G2IFEI</a><br />
<br />
Cheers fuckers.<br />
<br />Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com1tag:blogger.com,1999:blog-8952953525323266007.post-58315212694930479712019-02-16T21:31:00.002+01:002023-12-22T00:01:22.028+01:00Hacking a Crouzet PLC (Zelio, Schneider)<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1ooW2d1OStWzZ9zI7LnjuwCAt0bDV9nXG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="250" data-original-width="250" src="https://drive.google.com/uc?export=download&id=1ooW2d1OStWzZ9zI7LnjuwCAt0bDV9nXG" /></a></div>
<br />
<br />
I was given a Crouzet PLC, which turned out to be the same as other more popular brands like Zelio. Some time ago I successfully built a cable with a TTL-USB converter. I got the instructions from these links:<br />
<br />
<a href="http://plc-blog.com.ua/cable-zelio-sr2cbl01">http://plc-blog.com.ua/cable-zelio-sr2cbl01</a><br />
<a href="http://www.hexperiments.com/?page_id=11">http://www.hexperiments.com/?page_id=11</a><br />
<br />
However after establishing a good connection with the PC I couldn't do anything with it. I come up with a solution in this post.<br />
<br />
<b>The problem</b><br />
My PLC is a Crouzet CD12 model 88970823. For some stupid reason this PLC with this particular model number is a custom one, made (or locked) for one specific customer. I am completely convinced it's the exact same one as the readily available 88970042, however because of the difference in model number, the programming software (M3 soft) says it is unsupported and so, it don't allow me to do any damn thing to this piece of shit. So that was the problem.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1UYh1cbYUJn-oHtrLcv5LjcAj0TdKcJHK" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="172" data-original-width="261" src="https://drive.google.com/uc?export=download&id=1UYh1cbYUJn-oHtrLcv5LjcAj0TdKcJHK" /></a></div>
<br />
<br />
<b>Fail attempts</b><br />
I thought of several approaches to solve this. Starting for the simpler, I tried to hack the M3 soft program itself at first but there was no file that I could easily edit to add my model to the supported list. Moreover, I couldn't easily disassemble the code.<br />
<br />
<b>The hack</b><br />
The second easiest thing I came up with was to develop a simple man-in-the-middle program that controls the communications through the COM port, so when the time came I could fake the identity of my PLC and make the computer believe it's a supported device. To do this, first I used the free tool "null modem emulator (com0com)" that allowed me to create a virtual pair of COM ports so I can connect M3 soft to my program. Then, I wrote a Python script that did the work and talk directly to the PLC.<br />
<br />
That was one cool and fun approach btw. The diagram is like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=18_XuX5AGzhR9QYni-YZweMrb1b-z8UDg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="435" data-original-width="800" height="217" src="https://drive.google.com/uc?export=download&id=18_XuX5AGzhR9QYni-YZweMrb1b-z8UDg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<b>Sniffing the communication</b><br />
I programmed a sniffer in Python to log the traffic of the COM port, which also was a a man-in-the-middle but for then, it was a transparent logger. The COM parameters as baudrate, data bits... where found in the internet. To be exact, in the following link, which is the datasheet of a compatible HMI for the Zelio (which is the same one under another brand).<br />
<br />
Baudrate: 115200<br />
Data bits: 7<br />
Parity: even<br />
Stop bits: 1<br /><br />
<a href="https://euroec.by/assets/files/weintek/plc_connection_guide/Schneider_Zelio.pdf">https://euroec.by/assets/files/weintek/plc_connection_guide/Schneider_Zelio.pdf</a><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://i.imgur.com/BDXMTeb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="520" height="183" src="https://i.imgur.com/BDXMTeb.png" width="200" /></a></div><br /><div><br />
<br />
Playing with the M3 soft I could see how the traffic flowed.<br />
<br />
<pre class="prettyprint"><code class="language-html">
Data from M3 soft at 14:30:49.385069 -> b':010300006D00018E\r\n'
Data from PLC at 14:30:49.433699 -> b':01030100FB\r\n'
Data from M3 soft at 14:30:49.455736 -> b':011000006C00020E0073\r\n'
Data from PLC at 14:30:49.493760 -> b':011000006C000281\r\n'
Data from M3 soft at 14:30:49.506650 -> b':0103000066004056\r\n'
Data from PLC at 14:30:49.558686 ->':010340434431325330373032302020383839373038
323301000208040401001D07000032343632303031353036303730373039313902000200010C000
20201020C03F2AD\r\n'
Data from M3 soft at 14:30:49.572890 -> b':0103000066404016\r\n'
Data from PLC at 14:30:49.617998 -> b':01034004D44700000000000020202020202020202020202
000000000000000000000000000000000000000000020202020202020202020202000000000000
0000000009D\r\n'
Data from M3 soft at 14:30:49.629034 -> b':01030000668040D6\r\n'
Data from PLC at 14:30:49.678148 -> b':010340000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000BC\r\n'
Data from M3 soft at 14:30:49.689183 -> b':0103000066C004D2\r\n'
Data from PLC at 14:30:49.733299 -> b':01030400000000F8\r\n'
Data from M3 soft at 14:30:49.744307 -> b':011000006C00020F0072\r\n'
Data from PLC at 14:30:49.793846 -> b':011000006C000281\r\n'
Data from M3 soft at 14:30:49.804854 -> b':011000006C00020E0073\r\n'
Data from PLC at 14:30:49.853793 -> b':011000006C000281\r\n'
Data from M3 soft at 14:30:49.878726 -> b':0103000066004056\r\n'
Data from PLC at 14:30:49.917554 -> b':0103404344313253303730323020203838393730383233010002080
40401001D07000032343632303031353036303730373039313902000200010C00020201020C03F2AD\r\n'
Data from M3 soft at 14:30:49.939575 -> b':0103000066404016\r\n'
Data from PLC at 14:30:49.997619 -> b':01034004D4470000000000002020202020202020202020200000
00000000000000000000000000000000000000202020202020202020202020000000000000000000009D\r\n'
Data from M3 soft at 14:30:50.008626 -> b':01030000668040D6\r\n'
Data from PLC at 14:30:50.058750 -> b':01034000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000BC\r\n'
Data from M3 soft at 14:30:50.070752 -> b':0103000066C004D2\r\n'
Data from PLC at 14:30:50.112383 -> b':01030400000000F8\r\n'
Data from M3 soft at 14:30:50.123392 -> b':011000006C00020F0072\r\n'
Data from PLC at 14:30:50.171425 -> b':011000006C000281\r\n'
</code></pre>
<br />
The communication seemed to use the protocol Modbus Ascii, sort of. It used the same frame format but with custom instructions. To make sure I was right, I check if the checksum was calculated as expected with that protocol. The algorithm can be found in Wikipedia.<br />
<br />
<a href="https://en.wikipedia.org/wiki/Modbus">https://en.wikipedia.org/wiki/Modbus</a><br />
<br />
The checksum calculation matched the one in the frames I was sniffing so everything looked good.<br />
<br />
<b>Analysing the data</b><br />
Apart from the communication format, I could not see anything interesting, so I kept playing with the M3 soft. Things got exciting when I pressed the option "Controller Diagnostics" and received this message:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1fCaJn6oLyaOsC8vZR7dvP3LwppZ4cagX" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="172" data-original-width="476" height="115" src="https://drive.google.com/uc?export=download&id=1fCaJn6oLyaOsC8vZR7dvP3LwppZ4cagX" width="320" /></a></div>
<br />
<br />
That meant that when I pressed that button, the PLC sent the model number to the PC anyhow. The log of my sniffer showed lots of data, it wasn't clear where the number was nor how it was encoded.<br />
<br />
I discarded some frames that where duplicated and after messing around for some time I found the damn think. I discovered that the number was send in ascii hex, so the model 88970823 looked like 3838393730383233! Do you see it?<br />
<br />
<pre class="prettyprint"><code class="language-html">
Data from PLC at 14:47:43.559812 -> b':01034043443132533037303230202038383937303832330100
0208040401001D07000032343632303031353036303730373039313902000200010C00020201020C03F2AD\r\n'
</code></pre>
<br />
<br />
<b>Faking the identity</b><br />
That being so, I needed to inject the right model number in there, which was 88970042 or 3838393730303432 in hex. Also, I needed to regenerate the checksum once the data is modified so the M3 soft didn't complain (I tried it).<br />
<br />
I modified my man-in-the-middle script to look for the request from the PC to send the PLC identity. Then it catches the frame from the PLC, injects the fake model number, regenerates the checksum and sends the info to the PC. The script doesn't messes with the rest of the data in the frame.</div><div><br /></div><div><span style="color: red;">Beware this script needs module "pyserial" to run (not module "serial").</span><br />
<pre class="prettyprint"><code class="language-py">
#Crouzet Hacker. Pedro Fernandez. Feb-2019
import serial, time
from datetime import datetime
#PARAMS--------------------------------------
# port1 port2
portsAKAs = ["M3 soft", "PLC"]
enable_log = False
def log(data, source):
if enable_log:
timestamp = str(datetime.now())
if data:
print("Data from " + source + " at " + timestamp[11::] + " -> " + str(data), end='\n')
def modbusAsciiChecksum(frame):
address = frame[1:3]
function = frame[3:5]
data = frame[5::]
add = 0
add += int(address, 16)
add += int(function, 16)
for i in range(0, len(data), 2):
add += int(data[i:i+2], 16)
add = -add
add &= 0xFF
result = str(hex(add).upper())
return result[2::]
def generateInjection(frame):
frame_decoded = frame.decode()
frame_decoded = frame_decoded.replace("3838393730383233", "3838393730303432") #replace 88970823 by 88970042
#regenerate checksum
frame_decoded = frame_decoded[0:-4] #crop old checksum and /r/n
frame_decoded += modbusAsciiChecksum(frame_decoded)
return bytes(frame_decoded, 'ascii')
#MAIN-----------------------------------------
print("Crouzet Hacker. Pedro Fernandez. Feb-2019")
print("To stop press Ctrl + C.\n")
print("Enter M3 soft COM number: ", end='')
port1num = input()
print("Enter PLC COM number: ", end='')
port2num = input()
#Port inits
port1 = serial.Serial(port="COM" + str(port1num), baudrate=115200, bytesize=7, parity='E', stopbits=1)
port2 = serial.Serial(port="COM" + str(port2num), baudrate=115200, bytesize=7, parity='E', stopbits=1)
print("Waiting for data...")
IDrequested = False
try:
while True:
#M3 soft
if port1.in_waiting > 0:
time.sleep(0.01)
data_from_1_to_2 = port1.readline()
log(data_from_1_to_2, portsAKAs[0])
port2.write(data_from_1_to_2)
if data_from_1_to_2 == bytes(':0103000066004056\r\n', 'ascii'):
IDrequested = True
print("Identification requested by M3 soft")
#PLC
if port2.in_waiting > 0:
time.sleep(0.01)
data_from_2_to_1 = port2.readline()
if IDrequested:
data_from_2_to_1 = generateInjection(data_from_2_to_1)
IDrequested = False
print("Fake ID injected")
log(data_from_2_to_1, portsAKAs[1])
port1.write(data_from_2_to_1)
except KeyboardInterrupt:
port1.close()
port2.close()
print("Ports closed.")
input()
</code></pre>
<br />
<b>Success</b><br />
Fortunately, I got it to work flawlessly. I tried to read and write to the PLC without any problem. I even updated the PLC firmware (this didn't modified the model number though).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=11kYXHhp1y82oBX366Pgy6dOxtmq5D6kV" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="324" data-original-width="653" height="158" src="https://drive.google.com/uc?export=download&id=11kYXHhp1y82oBX366Pgy6dOxtmq5D6kV" width="320" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1_thST1MjQ4IgUlC0Lsn3F7ylGVptFAPJ" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="800" height="180" src="https://drive.google.com/uc?export=download&id=1_thST1MjQ4IgUlC0Lsn3F7ylGVptFAPJ" width="320" /></a></div>
<br />
<br />
Tell me in the comments if it helped or whatever.<br />
<br />
<b>*Update for clarification</b></div><div><br /></div><div>- COM ports configuration</div><div><br /></div><div>If, for example, your physical USB-TTL adapter is COM1 and you have the following bridge in com0com:</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://i.imgur.com/eC83vkg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="388" data-original-width="443" height="280" src="https://i.imgur.com/eC83vkg.png" width="320" /></a></div><br /><div>Then, you'll need to set M3 Soft connection to COM4, then in the script set COM5 for M3 Soft and COM1 for PLC.</div><div><br /></div><div><br /></div><div><br /></div>Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com33tag:blogger.com,1999:blog-8952953525323266007.post-3769034420007082072018-12-30T21:34:00.000+01:002018-12-30T21:34:58.637+01:00Disable Sleep Mode XYtronic LF-1600 Soldering StationI have this soldering station which has served me well since I bought it. However, it has this annoying thing called 'sleep mode' which lowers the temperature to 150 ºC every 15 or 30 min. For me, that engages too often. Maybe they tried to mimic the sleep feature of top of the range stations, but since no sensor is in the stand to detect when you leave the iron, the implementation is poor and bothering.<br />
<br />
I've always wanted to disable the feature, but in the owner's manual that came with my unit, the option seems to be missing. Now, I've found it explained in the manual of the model LF-1700 and I've discovered it's implemented in the firmware of my unit too. It's worth to mention that I couldn't understand shit from the chinenglish? of the manual, so that's the main reason to explain it properly here.<br />
<br />
By the way, besides LF-1600 and LF-1700 this will probably work for more models.<br />
<br />
So..., steps:<br />
<br />
1. Turn on the unit.<br />
2. Press SET for 4 seconds and '---' will blink in the display.<br />
3. Press UP 10 times until '010' is in the display. This is the default 'config password'.<br />
4. Press SET to enter the config menu.<br />
5. Press DOWN several times until 'F-3' is in the display.<br />
6. Press SET to enter.<br />
<br />
At this point '100' should appear in the display, which means 'sleep mode enabled'.<br />
<br />
7. Press UP or DOWN and the display will change to '000', which means 'sleep mode disabled'.<br />
8. Press SET twice to exit.<br />
<br />
Tell me in the comments if it helped.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-84313942677854661822018-12-19T20:31:00.001+01:002018-12-19T21:08:59.396+01:00All possible combinations in a 7 segment displayI was playing around with a display of 7 segment digits and was looking for some cool shape I could print in it. I wasn't been very creative and I noticed that, after all, only 128 combinations can be made with those kinds of displays. So I decided to write a dirty Python 3 script for generating all possible combinations, and here I show you the output.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=14SvVsQObmIFdK8DPxLPkOCZTz1-zL8Hm" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="268" data-original-width="648" src="https://drive.google.com/uc?export=download&id=14SvVsQObmIFdK8DPxLPkOCZTz1-zL8Hm" /></a></div>
<br />
<br />
I also leave here the dirty script.<br />
<br />
<pre class="prettyprint"><code class="language-py">
import os
#params
width = 20 #how many each row
q = 128 #how many in total
def gen7seg(segs):
line1 = ""
line2 = ""
line3 = ""
line1 += " "
if( (segs >> 6) & 1): line1 += "_ "
else: line1 += " "
if( (segs >> 1) & 1): line2 += "|"
else: line2 += " "
if( (segs >> 0) & 1): line2 += "_"
else: line2 += " "
if( (segs >> 5) & 1): line2 += "|"
else: line2 += " "
if( (segs >> 2) & 1): line3 += "|"
else: line3 += " "
if( (segs >> 3) & 1): line3 += "_"
else: line3 += " "
if( (segs >> 4) & 1): line3 += "|"
else: line3 += " "
return [line1, line2, line3]
printed = 0
finished = False
while(not finished):
out_line1 = ""
out_line2 = ""
out_line3 = ""
for _ in range(width):
[a, b, c] = gen7seg(printed)
out_line1 += (" " + a)
out_line2 += (" " + b)
out_line3 += (" " + c)
if(printed < q-1): printed += 1
else:
finished = True
break
print(out_line1)
print(out_line2)
print(out_line3)
input()
</code></pre>
<br />
<br />
Speak if it was useful for something.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-38997951240386940552018-11-17T13:40:00.000+01:002018-12-20T23:23:35.332+01:00Hair dryer schematic (Babyliss ioniCeramic 1600)I troubleshooted a hair dryer whose heating elements got red in the high speed. The problem was quite obvious once disassembled, the heating element wires slightly deformed and short-circuited at one spot. Separating them did the job.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1bH5tNCgYNM3Rk2EyC4aII22fRup1DwsH" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="600" height="320" src="https://drive.google.com/uc?export=download&id=1bH5tNCgYNM3Rk2EyC4aII22fRup1DwsH" width="240" /></a></div>
<br />
I felt like making a schematic to understand exactly how it (and other hair dryers) worked, since I more o less imagined it, but never confirmed it.<br />
<br />
So, in case anyone need it here it is. It's not 100% complete since things like values and LED resistors are missing, but they don't really do much difference.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1HzTCpzq57cnatbWAMbPeF4uKjuaihuoZ" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="386" data-original-width="800" height="308" src="https://drive.google.com/uc?export=download&id=1HzTCpzq57cnatbWAMbPeF4uKjuaihuoZ" width="640" /></a></div>
<br />
<br />
Tell me if it helped in the comments.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-89110383876201287452018-07-28T09:47:00.002+02:002018-11-17T13:41:50.810+01:00Superlux HD662 EVO review vs. HD668b<div class="MsoNormal">
<span lang="EN-US">I am a
satisfied owner of the 668b, I’ve been using then for a long time (I wrote a
review here when I got them) and now I want to tell you what the differences
are respect to the 662 EVO, which is very handy if you plan to buy one of
these.<o:p></o:p></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1rlzXSGbPdhf2UHbFbxKHtefQOxRyx3M4" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="515" height="320" src="https://drive.google.com/uc?export=download&id=1rlzXSGbPdhf2UHbFbxKHtefQOxRyx3M4" width="206" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="MsoNormal">
<span lang="EN-US">If you’ve
read any review of any of the contestants you’ll know the basics, like the 668b
are semi-opened vs the closed 662, the differences in technical numbers, the
662 includes spare velour pads… I’ll leave that bullshit apart and will try to
focus on the important things that you can’t find easily in the internet.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<br />
<div class="MsoNormal">
<b><span lang="EN-US">Sound<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span lang="EN-US">First
things first, the sound: it’s very good and noticeably different from the
668b’s. The treble is brighter and sparky, but not bothering high as someone
say, it’s just a bit louder. The mids stay ok, no problem with that. The bass
is noticeably boosted in the lower frequencies of the bass region, but again,
not disproportionate at all. The overall sound is great, the boosted bass is
very very pleasant compared with the more flat response of the 668b. <o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<b><span lang="EN-US">Insulation<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span lang="EN-US"> The insulation of the closed back headphones
versus the 668b is dramatic. I’ve only tried the ‘leather’ pads and they
insulate good when they push against your head. People can still hear sound
escaping if you turn the volume up too much, but believe me, the insulation is
good and you can’t expect cero sound escaping with high volume with any
headphone. That being said, without a doubt I affirm the 662 are office/library
suitable.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<b><span lang="EN-US">Quality<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span lang="EN-US">One thing
that really surprised me was the quality, as the internet said it was poor. Not
to me. The building quality is very good, the structure of the 668b is much
more flimsy and flexible, but the 662 are more rigid and feel better.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<b><span lang="EN-US">Pads and comfort<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span lang="EN-US">The velour
pads are just that, velour. They aren’t my ‘cup of tee’. The ‘leather’ ones
have nothing to be with the 668b plastic ones. The 668b’s are thick plastic and
the 662’s are soft thin leather. The force that the headphones put in your head
is the right amount, being a bit too much at first but it’s expected that
overtime they get more loose. Overall, they’re noticeably more comfortable that
the 668b and less warm.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<b><span lang="EN-US">Pricing<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span lang="EN-US">The price
difference isn’t significant so it’s no factor. Moreover, the value for money is
higher in the 662.<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US"><br /></span></div>
<div class="MsoNormal">
<b><span lang="EN-US">Conclusion<o:p></o:p></span></b></div>
<div class="MsoNormal">
<span lang="EN-US">If you want
good headphones to listen to music with nice bass, nice look and good
insulation get the 662. They are now my recommendation for general purpose. If
you need for some reason a flat response (audio mixing/producing) I definitely
wouldn’t use the 662, in that case, 668b.<o:p></o:p></span></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal" style="margin-left: 70.8pt; text-indent: -70.8pt;">
<span lang="EN-US">Hope it helps.<o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<br /></div>
<br />Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com1tag:blogger.com,1999:blog-8952953525323266007.post-9682791990729230642018-06-03T21:22:00.000+02:002018-06-03T21:22:03.221+02:00Save as PDF vs. print Adobe PDF (MS Word)I've wondered some times what was the difference between the two and today I found an important one.<br />
<br />
Let's say you are working with a document in Word that you plan to convert to PDF. You're using a font that you want to embed in that PDF because it's a particular font and probably isn't installed in the target user computer.<br />
<br />
<ul>
<li>If you 'Save as PDF', by default the font is 'embedded' by converting the letters to bitmap so it's a fail. This usually happens when the font isn't a 'common' one. Obviously, you won't be able to copy from this generated PDF.</li>
<li>If you print with 'Adobe PDF' virtual printer, the font is embedded properly and letters are vectorized.</li>
</ul>
<div>
<br /></div>
<div>
So now, you know. If you're using weird special fonts, don't forget to print as PDF.</div>
Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com1tag:blogger.com,1999:blog-8952953525323266007.post-45220851500465604642018-05-26T14:07:00.000+02:002018-05-26T14:07:29.557+02:00Fix slow Windows Explorer loading/hanging/freezing not showing thumbnails W8.1 I had this issue with Windows Explorer and was a pain in the ass I couldn't stand any longer. So I did some research in the net and nothing really worked for me so I want to share what did the trick.<br />
<br />
<b>How to check if you have the same problem as me:</b><br />
<br />
- Provoke a Windows Explorer hang and then open Event Viewer.<br />
- Go to Windows Logs -> System<br />
- Check if an error like this just happened:<br />
<br />
<i>Source: DistributedCOM Event ID: 10010</i><br />
<i>Description:</i><br />
<i>The server {1B1F472E-3221-4826-97DB-2C2324D389AE} did not register with DCOM within the required timeout.</i><br />
<br />
If you get that, you have the same problem and probably the same solution will work.<br />
<br />
<b>What's fucking my explorer?</b><br />
<b><br /></b>
It's the stupid SkyDrive. The following steps are intended for disabling it, so if you really use SkyDrive, don't continue. But no one uses that shit.<br />
<br />
<b>Straight fix:</b><br />
<b><br /></b>
- Go to your local drive -> Windows -> System32<br />
- Find SkyDrive.exe. Right click, Properties, tab 'Security', Advanced.<br />
- Change the owner of the file from 'TrustedInstaller' to an administrator account that you can use. If your current user has admin rights, just change the owner to your current account.<br />
- Below, change the administrators Access to 'Full control'. Apply and accept everything.<br />
- Now you can rename SkyDrive.exe to whatever like fuckSkydrive.exe, so now it won't work any longer.<br />
<br />
Restart your computer and your problem is probably solved.<br />
<br />
<b>Other things I did but should not make any difference:</b><br />
<b><br /></b>
If the above doesn't work, you can try this, but with SkyDrive disabled, this is probably pointless.<br />
<br />
- Open Registry Editor.<br />
- Go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Skydrive<br />
- There, create the following DWORD entries and set them all to 1.<br />
<br />
<i>DisableFileSync </i><br />
<i>DisableLibrariesDefaultSaveToOneDrive</i><br />
<i>PreventNetworkTrafficPreUserSignIn</i><br />
<i><br /></i>
Tell me in the comments if this post helped.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-604462490352440442018-05-01T00:52:00.001+02:002018-05-01T00:52:51.181+02:00Download daily Bing Wallpaper with this shitty programI want to share a little program I made some time ago, and that I've been using very often. It's shitty for the reasons below.<br />
<br />
Bing Wallpaper Tool is a simple utility that allows you to quickly check the current Bing Wallpaper, and if you like it, you can set it as wallpaper just pressing a button. You can also save the picture for other purposes with another button.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=11DClSVQWxcLtQx-OpJqkk0I84wHQ5nU4" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="342" data-original-width="750" height="181" src="https://drive.google.com/uc?export=download&id=11DClSVQWxcLtQx-OpJqkk0I84wHQ5nU4" width="400" /></a></div>
<br />
The program is developed with the stupid Windows Forms, so you need the son of a bitch .NET Frameworks for it to work. Also, despite the save functionality works always, the 'Set as Wallpaper' may not work in every Windows version (mine is W8.1 and works OK).<br />
<br />
If you want to spend your time with it, download it here:<br />
<a href="https://drive.google.com/file/d/1hoW2inyWooON8Pord8ziP7_jRrtMu2dn/view?usp=sharing">https://drive.google.com/file/d/1hoW2inyWooON8Pord8ziP7_jRrtMu2dn/view?usp=sharing</a><br />
PASSWORD: englishdrummer<br />
<br />
Take care.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-20215823812326755412018-02-08T03:29:00.000+01:002018-02-08T03:29:40.354+01:00Run script at logon in any Linux with LXDEToday I want to save you a lot of time with this shit. It's so simple when someone tells you.<br />
<br />
- First, this works for running things at user logon, not at system startup. For the latter, use something like Cron and good luck with it.<br />
- Second, this is user dependent. You'll have to do it for every user.<br />
- Third, just in case you didn't read the damn title, this is for linux distributions with LXDE desktop only.<br />
<br />
I start from the point where you have an script.sh ready and working, that being said, let's start:<br />
<br />
1. Go to "YOUR_USERNAME/.config/autostart". These are hidden folders, so copy & paste the path into PCManFM or activate "Show hidden folders" to get to the place.<br />
<br />
2. Create a new file called "YOUR_SCRIPT_NAME.desktop".<br />
<br />
3. Put inside the following:<br />
[Desktop Entry]<br />
Name=YOUR_SCRIPT_NAME<br />
Exec=PATH_TO_YOUR_SCRIPT<br />
Terminal=false<br />
Type=Application<br />
<br />
Example for the lazy:<br />
<br />
[Desktop Entry]<br />
Name=FBI_hack<br />
Exec=/james/my_folder/FBI_hack.sh<br />
Terminal=false<br />
Type=Application<br />
<br />
4. Go to the start menu Preferences -> Desktop Session Settings. Check your script is listed and mark with a tick.<br />
<br />
5. Last but not least, go to your script and make sure it has execution rights. For that, right click, Properties, Permissions tab, Execute -> Anyone.<br />
<br />
That's all for today, with this it should run a few moments after the user logs in.<br />
Tell me if it helped you.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-19475694796587959812018-01-26T16:25:00.000+01:002018-01-26T16:25:25.182+01:00My opinion about Armin van BuurenI love Armin van Buuren and A State of Trance.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://djmagbr.com/wp-content/uploads/2017/09/armin-van-buuren-height-weight-body-measurements.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://djmagbr.com/wp-content/uploads/2017/09/armin-van-buuren-height-weight-body-measurements.jpg" data-original-height="527" data-original-width="800" height="210" width="320" /></a></div>
<br />
<br />
What I like:<br />
- He's a trance icon<br />
- He transmit energy and hapiness<br />
- He works hard spreading the trance culture<br />
- He hosts a radio show that is very very good.<br />
- He's a high quality DJ and live performances are amazing.<br />
- He has a lot of experience in the field.<br />
- As a producer, he knows how to make very well made music. I mean, technically top level.<br />
<br />
What I don't like:<br />
- As a producer, which is a maybe 50% or less of what he works on now, despite the technically high class well made music, most tracks have nothing special, which is a pity. From my experience producing, I guess you need to release something from time to time, and maybe he's not in his best moment regarding inspiration.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-62351346360129885582018-01-23T01:11:00.001+01:002018-01-23T01:11:42.369+01:00Search across loads of text based files with massiveSearch.pyToday I want to share this python script that is being very very useful for me. massiveSearch allows you to search a particular string across many text based files like .txt, .cpp... I found it extremely useful when looking for strings in thousands of source code files.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1Cy7k2ZBUKA5-XjBi2yxEr9jhaCK-Xart" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="391" data-original-width="800" height="156" src="https://drive.google.com/uc?export=download&id=1Cy7k2ZBUKA5-XjBi2yxEr9jhaCK-Xart" width="320" /></a></div>
Using the script is very simple. At the top there's a list of extensions of files that the script takes. You can add more text based file extensions if necessary.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=13wZV2qfCsyNeH8RATjsMQPGCzlby0N3u" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="276" data-original-width="542" height="162" src="https://drive.google.com/uc?export=download&id=13wZV2qfCsyNeH8RATjsMQPGCzlby0N3u" width="320" /></a></div>
First you enter a path, then a string to search and that's all. If there are matches, you'll get a path to each of the files and the lines where the matches are.<br />
<br />
Download the script here:<br />
https://drive.google.com/file/d/1JrymKtoEit6eekECaj3nY0vMED4TAbsz/view?usp=sharing<br />
<br />
Hope it helps.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-59956967115830381722018-01-03T01:29:00.001+01:002018-01-07T23:56:01.490+01:00Detect and log when the internet is down with netDown.pyThis a little python script that I wrote to help me troubleshoot my internet connection.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1-4GlfgqfoIVEw56IRdKNiBVZGMW2L1Sf" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="682" height="320" src="https://drive.google.com/uc?export=download&id=1-4GlfgqfoIVEw56IRdKNiBVZGMW2L1Sf" width="272" /></a></div>
<br />
<br />
netDown.py checks periodically if the connection is OK, and if it isn't, it logs it to ta text file with the date and time when the fail was detected. Here's and example of the output:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1ogRnUzCRwYlkJ-G9BYYQ0M61vNTIrdy7" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="244" data-original-width="800" height="121" src="https://drive.google.com/uc?export=download&id=1ogRnUzCRwYlkJ-G9BYYQ0M61vNTIrdy7" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
At the top, there are 3 parameters that you can modify to change the way the script works to suit your needs.<br />
<br />
Download:<br />
https://drive.google.com/open?id=1EHlOJRfF4XDSwSjTW2bk_k9OO8_dZNHmPedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-36094960488464932752017-12-31T00:53:00.005+01:002018-01-04T00:10:10.066+01:00How Ford tries to deny repairs under warranty [GUIDE]This is the guide given to Ford workshops to try to deny repairs under warranty. It's basically a procedure for detecting aftermarket modifications to the vehicle. Bastards...<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://drive.google.com/uc?export=download&id=1GXCL0PnkZGYklU3UyBZZ3WwYCbnUa7kI" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="638" data-original-width="800" height="255" src="https://drive.google.com/uc?export=download&id=1GXCL0PnkZGYklU3UyBZZ3WwYCbnUa7kI" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
https://drive.google.com/open?id=105z6bmQRQaZhx3bNTbHKlw8kpKM4emGw<br />
<br />
This guide was stolen from www.focusrs.orgPedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com0tag:blogger.com,1999:blog-8952953525323266007.post-62004787672408650682017-10-15T23:00:00.001+02:002018-05-01T00:09:43.722+02:00Add folder to Aerodrums playlist with AeroToolsAerodrums is some fine piece of software, although not cheap (because when you buy the product, you're obviously paying for the software). However it isn't the most feature rich.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEginjW8Bl569XCYgP8zPEAvOYfPWS_KVWshtOnj4-vtOLkv_v6v2J1NmXvUXfeOet1_qclft3grsGpu5UFSikuYUjKX_Ykvpfciz-mgwOxfpMuQrAmNcgLd4CgJ3gvjpRveEuRHbKWL89YW/s1600/sshot-1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEginjW8Bl569XCYgP8zPEAvOYfPWS_KVWshtOnj4-vtOLkv_v6v2J1NmXvUXfeOet1_qclft3grsGpu5UFSikuYUjKX_Ykvpfciz-mgwOxfpMuQrAmNcgLd4CgJ3gvjpRveEuRHbKWL89YW/s400/sshot-1.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Aerodrums playlist 'manager'</td></tr>
</tbody></table>
<br />
One thing that pisses me off is the built in player. It's so basic you can't even add folders to the playlist, instead you must add song by song, what a beginner fail!<br />
<br />
For me that I love to jam to lots of songs, this sucks so bad, so I developed this tool.<br />
<b><span style="font-size: large;"><br /></span></b>
<b><span style="font-size: large;">AeroTool</span></b><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eoIx1MPgs1EisZiUxkRjCCPJ0_fmfJWP78Q_NmOPKppZNeA_bAFTd0hbpuSZ7ACSB-0szMhSKnGPUw7lPh_qY3jotrBtWj_eQs70HfeJxvc-EN3eBH_kNOO39KRFW9krix4-6-IM0FtW/s1600/sshot-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eoIx1MPgs1EisZiUxkRjCCPJ0_fmfJWP78Q_NmOPKppZNeA_bAFTd0hbpuSZ7ACSB-0szMhSKnGPUw7lPh_qY3jotrBtWj_eQs70HfeJxvc-EN3eBH_kNOO39KRFW9krix4-6-IM0FtW/s400/sshot-2.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">AeroTool window</td></tr>
</tbody></table>
<br />
<br />
This is a little program (no installation necessary) that lets you add the contents of a folder to the Aerodrums playlist.<br />
<b><br /></b>
<b>This is provided AS IS, probably no update will be made, although you can yell in the comments and I may listen.</b><br />
<b><br /></b>
<b>DOWNLOAD</b><br />
<span style="font-family: source_sans_proregular, arial;"><span style="background-color: white; font-size: 13px;"><a href="https://drive.google.com/file/d/1Crl6sQNVikDuBJsguLVk9O20B2369WWh/view?usp=sharing">https://drive.google.com/file/d/1Crl6sQNVikDuBJsguLVk9O20B2369WWh/view?usp=sharing</a></span></span><br />
PASSWORD: englishdrummer<br />
<br />
The operation is so easy, even a Dacia driver can use it. Anyway I'll give some instructions for completeness.<br />
<br />
<b>Instructions </b><br />
<br />
1. Browse the folder where you installed Aerodrums. Usually the default will do and you'll get 'Playlist file found' in the status bar at the bottom.<br />
2. Browse the folder you want to add.<br />
3. Press 'Clear Playlist' to empty you playlist or 'Add folder to Playlist' to do what the button name suggests.<br />
<br />
<b>Modify the playlist only when Aerodrums is closed. </b>If you are drumming and want to change it, close the program, modify and open it again, it takes seconds.<br />
<br />
Tell me in the comments if this helped you.<br />
<b><br /></b>
Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com1tag:blogger.com,1999:blog-8952953525323266007.post-79512650573745799252017-10-02T23:52:00.000+02:002017-10-02T23:52:23.256+02:00Setting up wxWidgets & wxFormBuilder for Visual Studio FOR IDIOTS, NO B$If you're here I assume you know what wxWidgets is, so let's not waste time.<br />
<br />
It hasn't been particularly straight forward the procedure for setting wxWidgets up with my Visual Studio 2012, so I'll tell you how to do it from the ground up until having a gui running, that you'll have made with wxFormBuilder, the easy way, for lazy morons.<br />
<br />
<b>1. Compiling the libraries</b><br />
We'll compile the libraries for our particular version of VS, so we can make sure they work, and because the pre-compiled stuff that you can find in the internet (wxPack) is a heavy pile of shit with unnecessary gigabytes.<br />
<br />
- First download the Windows Installer from the wxWidgets official site http://wxwidgets.org/downloads/ Install it.<br />
- Download and install wxFormBuilder too.<br />
- Go to C:\Program Files (x86)\wxWidgets-3.0.3\build\msw. Obviously, the path may vary if you changed the installation folder.<br />
- Open the right Solution file, don't get fooled with the names:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFkcutc-Zc-i7wnNcHNzhoxBhee9nyj-j_FTWMkV6tK52CjddFc0Mdemjv6Lt_YUc1LOsLRkt2RkmZe24-V1OgjuuX_Mz-FuYH-7ydE2KsDg-C57IYrXz3IcXOO0-8ZmBhmsrMxL9iO8Xd/s1600/sshot-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="71" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFkcutc-Zc-i7wnNcHNzhoxBhee9nyj-j_FTWMkV6tK52CjddFc0Mdemjv6Lt_YUc1LOsLRkt2RkmZe24-V1OgjuuX_Mz-FuYH-7ydE2KsDg-C57IYrXz3IcXOO0-8ZmBhmsrMxL9iO8Xd/s320/sshot-1.png" width="320" /></a></div>
<br />
<br />
vc10 means VS2010<br />
vc11 means VS2012<br />
vc12 means VS2013<br />
<br />
- Build the project in Debug mode and after completed, in Release mode.<br />
- Done.<br />
<br />
<b>2. Check if you fucked something up</b><br />
<b>- </b>Go to C:\Program Files (x86)\wxWidgets-3.0.3\samples and open the solution file called 'samples'. Let VS upgrade the project if it's made with an old version of VS.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9OK_9yGFOpK6FK5onSwzzkgYXxjURoqJ_GStxfqhhdo7vDUyUaTLyiU9z9iJ1fPBi5iH9O40xF0Th31dp9qQ4w0Vx7xLdnVxfs-Gj2bswEkjSq7sGsddCsooWQXEA9MlrbcLim2r3pAQC/s1600/Untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9OK_9yGFOpK6FK5onSwzzkgYXxjURoqJ_GStxfqhhdo7vDUyUaTLyiU9z9iJ1fPBi5iH9O40xF0Th31dp9qQ4w0Vx7xLdnVxfs-Gj2bswEkjSq7sGsddCsooWQXEA9MlrbcLim2r3pAQC/s320/Untitled.png" width="320" /></a></div>
- Right click the project 'minimal' and Debug > Start new instance.<br />
- If it compiles OK and you can see the program window, you did fine.<br />
<b><br /></b>
<b>3. Creating a test GUI</b><br />
<b>- </b>Open wxFormBuilder and create a test GUI. I'm not detailing this, you need to add a new form, a layout and then it allows you to insert something like a button.<b> </b><br />
<b>- </b>Save the project somewhere and generate the code by pressing the gear icon.<br />
<br />
<span style="color: red;">This is the tricky part, the following lines are damn golden.</span><br />
<br />
<b>4. Getting wxWidgets to compile in your program</b><br />
- Create a new project of type 'Win32 Project'. In the second page of the wizard, under 'Additional options', check 'Empty project' and uncheck 'Security Development Lifecycle (SDL) checks'.<br />
- Once created, open the project properties.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj41w-2_l6T5QQuunOQOlN83c-qQyugEqIcn1DsgVtWZ-Q8QD_lAIGv8A8AKqpLlo7IUEGMwsrl6D5l7fuWXFPKGtoivr11xs-eTlFy0XKX7Fd8BsGIUqaiR1zRkbfZ8ODStx-cW9t87NSu/s1600/sshot-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj41w-2_l6T5QQuunOQOlN83c-qQyugEqIcn1DsgVtWZ-Q8QD_lAIGv8A8AKqpLlo7IUEGMwsrl6D5l7fuWXFPKGtoivr11xs-eTlFy0XKX7Fd8BsGIUqaiR1zRkbfZ8ODStx-cW9t87NSu/s320/sshot-1.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
- In parallel, open the 'minimal' sample like in point 2, and open its properties.</div>
<div class="separator" style="clear: both; text-align: left;">
- Go through the sections and copy each and every damn option that is in bold to your project properties, so both project configurations match. Obviously, options like 'Output directory' aren't meant to be changed.</div>
<div class="separator" style="clear: both; text-align: left;">
- Your project should compile now when using wxWidgets in your code.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>5. Using a wxFormBuilder GUI in your program</b></div>
<div class="separator" style="clear: both; text-align: left;">
- Move the files generated by wxFormBuilder to a suitable place like your project folder.</div>
<div class="separator" style="clear: both; text-align: left;">
- Add the header and the .cpp to your project.</div>
<div class="separator" style="clear: both; text-align: left;">
- Use the following example code in your main.cpp (for example) to launch your GUI.</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">#include <wx/wx.h></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">#include "gui\gui.h"</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">class MyApp: public wxApp {</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">public:</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="white-space: pre;"> </span>virtual bool OnInit();</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="white-space: pre;"> </span>virtual int OnExit() { return 0; }</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">};</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">IMPLEMENT_APP (MyApp);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"> bool MyApp::OnInit() {</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="white-space: pre;"> </span>wxFrame* mainFrame = new MyFrame1(NULL);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="white-space: pre;"> </span>mainFrame->Show(true);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="white-space: pre;"> </span>SetTopWindow(mainFrame);</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;"><span style="white-space: pre;"> </span>return true;</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace;">}</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: inherit;">NOTE 'MyFrame1' is the default frame name if you didn't change it in wxFB.</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: inherit;">- Now if you press play, your beloved GUI should appear.</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: inherit;">Tell me in the comments if it worked for you.</span></div>
Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com6tag:blogger.com,1999:blog-8952953525323266007.post-72249546966904418362017-07-31T01:32:00.000+02:002017-12-31T00:58:48.002+01:00Trimming a broken cymbalWhat happens when a super cheap cymbal is treated like it is not, is portrayed in the following picture.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSwL9cLpAzBE9QvNFlUNw_P6D8kSZ1mg2wgMYfDDy2uJKtsrDXOjD-ecVU4gVs6MT5tj3Ul7bFAjqr-kTa6GPK9kIagQPs1Ge9NUeCRffH3UqDJSUriI0X0JeY01IrtLfw6gtuDsFe1kSr/s1600/WP_20170730_16_41_53_Pro.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSwL9cLpAzBE9QvNFlUNw_P6D8kSZ1mg2wgMYfDDy2uJKtsrDXOjD-ecVU4gVs6MT5tj3Ul7bFAjqr-kTa6GPK9kIagQPs1Ge9NUeCRffH3UqDJSUriI0X0JeY01IrtLfw6gtuDsFe1kSr/s320/WP_20170730_16_41_53_Pro.jpg" width="320" /></a></div>
<br />
Don't think I hit my cymbals like an animal. This is a very cheap cymbal that came with my first drum set, it feels like aluminum/aluminium and has no brand nor anything written. It was cracked badly but no crack was too far from the edges, there was sort of a healthy area in the middle.<br />
<br />
Since the material seemed very thin, I thought trimming the cracked area was plausible.<br />
<br />
<b>1. Marking the healthy zone</b><br />
I used a sharpie attached to a compass to mark a cutting line. I thought I could use the existing grooves in the cymbal to avoid using they compass, but the resulted to be spiral around the center, not circular.<br />
<br />
<b>2. Trimming</b><br />
I used a Dremel like tool with a metal cutting disc to do the job (see the pic below). This is a slow process, first I cut half of the cymbal and then the other half because the tool gets burning hot and I had to let it rest for some time. Eventually I needed 3 and a half cutting discs for the labour. It's fine, they are very cheap in Ebay.<br />
<br />
This was the result (metal dust included):<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkSbuzHVdm4CtGleLsNTh1xz2foVVt-dlhOtNI0yQzjd3WRzZ6XW4vdgQnPI6u-GRmIJb3rSx3Io4N_LdF2e6Pr26UeEzC_mnb4prQ7SltLwf_7puFPL0z3V6PdD9ZIgEuQgxx7sNiGfX1/s1600/WP_20170730_21_25_18_Pro.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkSbuzHVdm4CtGleLsNTh1xz2foVVt-dlhOtNI0yQzjd3WRzZ6XW4vdgQnPI6u-GRmIJb3rSx3Io4N_LdF2e6Pr26UeEzC_mnb4prQ7SltLwf_7puFPL0z3V6PdD9ZIgEuQgxx7sNiGfX1/s400/WP_20170730_21_25_18_Pro.jpg" /></a></div>
<br />
<br />
<b>3. Finishing</b><br />
For the last step, I filed the edges although they weren't too bad. I used a file accessory for the tool, but a manual file can be used as well.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE6EhrhsgH_-miaimNDcIF2n7obgLGSfMleZw_9-t9CFt_ZYnor-IySUxB7yM8Y7MSH4uwXpEG3adgoOPE6CU4F9px9Fc2i_ghVix-Ra2mZ8EcH6KK_y9532NtgaWZONZ8heayr_p9i5hq/s1600/WP_20170730_21_26_09_Pro.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE6EhrhsgH_-miaimNDcIF2n7obgLGSfMleZw_9-t9CFt_ZYnor-IySUxB7yM8Y7MSH4uwXpEG3adgoOPE6CU4F9px9Fc2i_ghVix-Ra2mZ8EcH6KK_y9532NtgaWZONZ8heayr_p9i5hq/s320/WP_20170730_21_26_09_Pro.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">File accessory and metal cutting disc</td></tr>
</tbody></table>
The result after cleaning a bit:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv2IsPwhzurxgSshSAZoKfMSChDbmiK04GyR6mH7WmcjxX11HdGfaHBeBIMcdzY9bkCeZch7lC5yKtsMvtdFNLY-nX9VREmGIno-zigc4shBAvWWnJo-QBsKG-ZT1TpbwvVHbBvAt57CBF/s1600/WP_20170730_22_58_50_Pro.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv2IsPwhzurxgSshSAZoKfMSChDbmiK04GyR6mH7WmcjxX11HdGfaHBeBIMcdzY9bkCeZch7lC5yKtsMvtdFNLY-nX9VREmGIno-zigc4shBAvWWnJo-QBsKG-ZT1TpbwvVHbBvAt57CBF/s320/WP_20170730_22_58_50_Pro.jpg" width="320" /></a></div>
<br />
<br />
<b>Conclusion</b><br />
I'm satisfied with the result and I will try to put this cymbal to work again.<br />
<br />
<b>Epilogue: About doing this with a quality cymbal</b><br />
After doing this procedure, I thought about repeating if in the future I need to save a thicker, harder cymbal. My opinion is that it could be done, but definitely a lot of patience and discs would be necessary. I believe that dividing the job in several parts, allowing the tool to rest, is possible to complete a cut in a standard quality cymbal.<br />
<br />
<br />
<b>Update:</b><br />
I had to use this method again with a standard thickness cymbal and worked fine.Pedro Fernándezhttp://www.blogger.com/profile/15704566159311411008noreply@blogger.com1