Monday, July 31, 2017

Trimming a broken cymbal

What happens when a super cheap cymbal is treated like it is not, is portrayed in the following picture.

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.

Since the material seemed very thin, I thought trimming the cracked area was plausible.

1. Marking the healthy zone
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.

2. Trimming
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.

This was the result (metal dust included):

3. Finishing
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.
File accessory and metal cutting disc
The result after cleaning a bit:

I'm satisfied with the result and I will try to put this cymbal to work again.

Epilogue: About doing this with a quality cymbal
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.

Thursday, July 27, 2017

Drumming gear tips for beginners

In the following paragraphs I'll be speaking about my personal advise for (poor) beginners regarding to drumming gear. If you or your son/daughter want to enter the drumming world, this may be useful.

1. At first, buy cheap and second hand
In your first steps, buy the cheapest set you can get, don't even think about buying new, go second hand.

Everyone wishes to be a drummer, but drumming isn't for everyone. The market is full of beginner sets second hand almost new from people that got them and played it for less than a month.

You really don't need more than a basic kit that sounds like crap to learn and play with your friends. Check that it has at least one cymbal besides the hi hat. Example of crappy generic brand 2º hand kit:

Photo stolen from here
This set was for sale on eBay for $143.

2. Don't upgrade your crappy drum set
Maybe you thought about adding a couple of cymbals to your set (you'd need a pair of stands too), or maybe you read that replacing the heads with quality ones you'll get a decent sound. Don't waste any money on your starter set, you will regret it. Little upgrades can cost you lots of money if put together and you'll end up with a piece of crap no matter what you do. I can't emphasize how important this is. Better save for the next point.

After practising a lot with your crappy kit (months or years) so you can play songs feeling confident then it's time for the next step.

3. Get some decent kit
At this point, you can upgrade your gear to something low-mid range (depending on your budget) that allow you to play gigs for money, record stuff or just develop your skills further. Don't buy generic brands, doesn't matter how fancy they look, trust famous ones. Second hand market is a great idea, good deals can be found. Drums and cymbals are robust instruments, they can take lots of abuse, don't be afraid of getting a 5 or 10 years old kit if rust isn't involved and the model gets good opinions.

One piece of advise, try to get rid of your old set. Maybe you can get half what you paid for it to invest later, it can be useful for other beginner and also, it won't take up space.

4. Upgrade your set to taste
Just some words here. From now on, try to get good quality upgrades that you can keep and use in future kits. For example, if buying a hi hat stand, get a strong good brand one. Don't buy disposable stuff anymore.

Hope you find this useful.

Wednesday, July 5, 2017

Marvell SDGOB-0892 Wifi card pinout

In this post I'll show you the correct pinout for the SDGOB-0892 wifi card. TIME WASTE DISCLAIMER: Be warned I eventually don't get this to work as a wifi dongle despite the pinout being right.

I found this Marvell card in an HP inkjet printer, it uses a USB 2.0, so it's possible to connect it to a PC. Seems like in the internet there are some variants with different pinouts, but not this one.

Model Number: SDGOB-0892
IC: 466D-SDGOB892

- 1 and 8: VCC 3.3 V
- 2, 5 and 7: GND 0 V
- 3: D+
- 4: Not connected
- 6: D-

After wiring, I couldn't make it work on Windows 8.1, I got unrecognised USB. In Linux it was recognised fine:

But this wasn't enough for it to work. I guess it was a driver problem. I spent hours looking for the right one with no luck and left this at this point. Hope it helps somebody.

Friday, May 26, 2017

Add CURL in Visual Studio (C++) easy, not bullshit, works

Looking for something that fixes your day because you are having a nightmare with CURL or libcurl? Tired of finding just stupid tutorials in the internet that never work or are crazy complex? Lets cut the bullshit.

I'm not telling you what CURL is now, but I'll tell you this shit is tricky to implement. I'll try to show you from the very beginning. In my case I used Visual Studio 2012, C++ and CURL 7.54.0.

To start, I'll tell you, you can't download from the official website (nor from fucking anywhere, as it seems) what really needs to implement CURL. What you get are the files for building the other files that are the good stuff. I had to build mine ones so I'll give you a link to download them, though I don't really know if these work for everyone (I presume they do). Anyway, I'll show you how to build your own ones, so jump to the implementation part if you use my stuff.


This is to build the files you need to import to your project.
First, download the zip from the CURL site, get the file from the section "Source Archives".

1. Extract them somewhere and go to the folder "winbuild". Copy the path to that folder.
2. Go to your programs and find "VS2012 x86 Native Tools Command Prompt" or you equivalent.
3. Run it and cd to the path to the point 1. For that, write: cd pasteHereThePath and press enter.
4. Now write the following: nmake /f mode=static VC=12
5. Change the number 12 for the number of your Visual Studio version. E.g. VS 2015 then VC=15. Press enter

Now it should start the building. Wait.

In the folder where you extracted the zip file, a new folder called "builds" must have been created. Follow this paths to find the results of the build:
builds/libcurl-vc12-x86-release-static-ipv6-sspi-winssl/include here is the "curl" folder
builds/libcurl-vc12-x86-release-static-ipv6-sspi-winssl/lib here is the .lib file

6. Get the "curl" folder and the .lib file called "libcurl_a.lib". Forget every other file.


Now that you have the folder and the .lib (I recommend moving the file into the folder), put then somewhere reasonable for your project (I assume you already created a VS project), for example in the project root folder.

To get VS to work with the new files, we must tune some options:

1. In the "Solution Explorer", right click in your project and click "Properties".
2. Go to "Configuration Properties" -> "VC++ Directories". In the fields "Include Directories" and "Library Directories" add the path to the curl folder and to the .lib respectively. If you followed my advise, the folder must be the same for both. It's also a good idea to use relative paths or macros, but now it's not time to go into details.
3. Go to  "Configuration Properties" -> "Linker" -> "Input". In the field "Additional Dependencies" add the name of the .lib file: "libcurl_a.lib"
4. Go to  "Configuration Properties" -> "C/C++" -> "Code Generation". In the field "Runtime Library"select "Multi-threaded DLL (/MD)".
5. Click OK and move on.

There you have it, after all this, you must be able to create a .cpp file and include "curl.h" without trouble. Here are examples of code, by the way:

Tell me in the comments if this was of any help to you.

Tuesday, October 25, 2016

Fix USB to TTL cable driver problem Windows 8/8.1

I bought this stupid thing from Ebay instead of the classic without cable because so I don't need to use more wires.

TTL-USB cable picture stolen from ebay

The thing was I couldn't make it to work in Windows 8.1. I discovered it is based on a Prolific chip and that there were a series of those which weren't supported by W8 nor W8.1.

Shit Prolific says in its website
Guess what chip I got.

Prolific CheckChipVersion saying I bough shit
Yes, I got a 'cursed' one, of course.
Eventually, I made it to work with the following driver. It should work for W 7/8/8.1/10.!pYMn2Yoa!qFwnpJurRuAvmB1mznQg174R23Ruxqb_rqlNSoir4nI

Fuck yeah.

Tuesday, June 28, 2016

Tesla Motors doesn't care about privacy

I'd like to say that the original title of this article is 'Tesla Motors is bullsit', but for better Google positioning so more people can know, I specified a little bit.

Tesla Motors's fancy electric toys must be great expensive fun but there are a lot of things to worry about with those wheeled smartphones. 

It is completely astonishing the crazy amount of data they spy from you. What comes to your mind? What's what would worry you? Your current location? Your speed? Of course they collect that and much more! They even log when you honk! And you know what? They are not selfish, the are ok to share with other companies.

They can also control your car remotely, by the way.

It has been a surprise for me to find that everybody can access a dirty list with these things in their website:

But I feel better if I paste the content here, let's say for the records. Enjoy.

We may collect personal information in a variety of ways, including:
  • Through the Services: We may collect personal information through our websites, software applications, social media pages, e-mail messages, or other digital services (the "Services"), e.g., when you sign up for a newsletter or make a purchase.
  • From other sources: We may receive your personal information from other sources, such as public databases, joint marketing partners, and social media platforms.
  • My Tesla: Customers who purchase a Tesla vehicle will receive a My Tesla account, which is hosted on our website. We may collect and process the following types of data for your My Tesla account that you elect to provide to us: your customer registration information; the status of your vehicle order; warranty and other documentation for your vehicle; and general information about your vehicle (including vehicle identification number, service plan information, connectivity package, and other personalized details such as Internet radio account information), insurance forms, driver’s licenses, and financing agreements.
  • Telematics Log Data: To improve our vehicles and services for you, we collect certain telematics data regarding the performance, usage, operation, and condition of your Tesla vehicle, including the following: vehicle identification number, speed information, odometer readings, battery use management information, battery charging history, electrical system functions, software version information, infotainment system data, safety‐related data (including information regarding the vehicle’s SRS systems, brakes, security, e‐brake), and other data to assist in identifying and analyzing the performance of the vehicle. We may collect such information either in person (e.g., during a service appointment) or via remote access.
  • Remote vehicle analysis: We may be able to dynamically connect to your Tesla vehicle to diagnose and resolve issues with it, and this process may result in access to personal settings in the vehicle (such as contacts, browsing history, navigation history, and radio listening history). This dynamic connection also enables us to view the current location of your vehicle, but such access is restricted to a limited number of personnel within Tesla.
  • Other vehicle data: In order to help improve our products and services, we may collect and store data about accidents involving your Tesla vehicle (such as air bag deployment) and the following types of data: data about remote services (such as remote lock/unlock, start/stop charge, and honk-the-horn commands); a data report to confirm that your vehicle is online together with information about the current software version and certain telematics data; data about any issues that could materially impair operation of your vehicle; data about any safety‐critical issues; and data about each software and firmware update. We may collect such information either in person (e.g., during a service appointment) or via remote access.
  • Service history: We collect and process data about the service history of each Tesla vehicle, including the customer’s name, vehicle identification number, repair history, any outstanding recalls, any bills due, any customer complaints, and any other information related to its service history.
  • Charging station information: We collect information regarding the charge rate and charging stations used by you (including outlets) in order to analyze which charging stations are being utilized, how long and efficient battery charges are, and where additional charging stations are needed.
  • Offline: We may collect personal information from you offline, such as when you visit a Tesla store or repair facility, attend one of our tradeshows, sign up for a test drive, place an order over the phone, or contact our customer services or sales department.

How We May Use Personal Information

We control access to personal information, including taking steps to restrict access to personal information to individuals within Tesla who need such information to perform their jobs and are bound by enforceable confidentiality obligations. We may use personal information for a variety of reasons, such as those listed below:
  • To respond to your inquiries and fulfill your requests, such as to send you newsletters or product information, vehicle information alerts, or brochures.
  • To set up, evaluate, and provide feedback regarding a test drive.
  • To complete and fulfill your purchase, for example, to process your payments, have your order delivered to you, communicate with you regarding your purchase, and provide you with related customer service.
  • To provide service to your Tesla vehicle, including to contact you with service recommendations and to deliver over-the-air updates to your vehicle.
  • To advise you of important safety-related information.
  • To send administrative information to you, for example, information regarding the Services and changes to our terms, conditions, and policies.
  • To monitor your Tesla vehicle’s performance and provide services related to your vehicle.
  • To present products and offers tailored to you and to enhance our lists with information from other sources.
  • To allow you to participate in contests and similar promotions and to administer these activities.
  • To facilitate social sharing and communications functionality.
  • For our business purposes, such as: data analysis; audits; fraud monitoring and prevention; developing new products and services; enhancing, improving, or modifying our products and services, including our vehicles, vehicle technology, and related services; identifying usage trends; determining the effectiveness of our promotional campaigns; and operating and expanding our business activities.

How We May Share Personal Information

Personal information we collect may be disclosed to third parties when necessary to perform services on our or on your behalf, including the following:
  • To Tesla affiliates for the purposes described in this Privacy Policy. Tesla affiliates are companies that are owned or controlled by Tesla Motors, Inc. and companies in which Tesla Motors, Inc. has a substantial ownership interest.
  • To our third party service providers to provide services such as website hosting, data analysis and storage, payment processing, order fulfillment, wireless connectivity to Tesla vehicles, information technology and related infrastructure, customer service, vehicle maintenance or related services, e-mail delivery, credit card processing, auditing, marketing, and other similar services.
  • To third party service centers if you choose to utilize them. Note that some personal information is stored on the Tesla vehicle and may be accessible directly to the third party service centers that you choose to utilize to diagnose or service your vehicle.
  • To other third party business partners to the extent that they are involved in your purchase or the service of your Tesla vehicle or related products. We share limited personal information to allow you to take advantage of those services if you elect to utilize them, with such partners as finance, leasing, registration, and title companies.
  • To third-party sponsors of contests and similar promotions, if you elect to participate.
  • To your employer or other fleet operator or the owner of the Tesla vehicle, if you do not directly own it and as authorized under applicable law.
  • To your social media account provider, if you connect your Services account and your social media account. If you do so, you authorize us to share information with your social media account provider and you understand that the use of the information we share will be governed by the social media account provider’s privacy policy.
  • To a third party in connection with any reorganization, merger, sale, joint venture, assignment, transfer, or other disposition of all or any portion of our business, assets, or stock (including in connection with any bankruptcy or similar proceedings).
  • Tesla may transfer and disclose information, including personal and non-personally identifiable information, to third parties to comply with a legal obligation (including, but not limited to, subpoenas); when we believe in good faith that the law requires it; at the request of governmental authorities conducting an investigation; to verify or enforce our policies and procedures; to respond to an emergency; to prevent or stop activity we may consider to be, or to pose a risk of being, illegal, unethical or legally actionable; or to protect the rights, property, safety, or security of the Services, Tesla, third parties, visitors to our Services, or the public, as determined by us in our sole discretion.
We do not share your personal information with unaffiliated third parties for their marketing purposes unless you opt in to that sharing.

How We May Collect or Share Information That Does Not Personally Identify You

We may also collect and share information that cannot, on its own, be used to identify you. We and our third party service providers may collect such information in a variety of ways, including:
  • Through your vehicle: We may provide you with features in your Tesla vehicle, such as the real-time traffic feature, which make use of the true road segment speed of your vehicle, and we may share this data with partners that contribute similar data to help us provide the service. However, we only collect and share this data if these features are available in your vehicle and if you elect to use them, and we only collect and share this data in a way that does not personally identify you or your vehicle. We also do not collect the beginning or end of your trips. We also may collect similar data in connection with other features and may share it with business partners where necessary to provide the feature to you, but we will only collect and share the data in a way that does not personally identify you.
  • Through your browser or device: Certain information is collected by most browsers or automatically through your device, such as your Media Access Control (MAC) address, computer type (Windows or Macintosh), screen resolution, operating system name and version, device manufacturer and model, language, Internet browser type and version, and the name and version of the Services (such as the Tesla App) you are using. We use this information to ensure that the Services function properly.
  • Using cookies in connection with your My Tesla account and our website: Cookies are pieces of information stored directly on the computer that you are using. Cookies allow us to collect information such as browser type, time spent on the Services, pages visited, language preferences, and other web traffic data. Our service providers and we use the information for security purposes, to facilitate online navigation, to display information more effectively, and to personalize your experience while using the Services, as well as for online tracking purposes. We can recognize your computer to assist your use of the Services. We also gather statistical information about the usage of the Services in order to continually improve their design and functionality, understand how the Services are used, and assist us with resolving questions regarding the Services. Cookies further allow us to select which of our advertisements or offers are most likely to appeal to you and to display them to you. We may also use cookies in online advertising to track responses to our advertisements, and we may use cookies or other files to track your use of other websites.

Tuesday, June 21, 2016

Fix Windows Phone 8/8.1 backup error

So you want to make a backup of your phone settings, apps or whatever, in the way Microsoft calls 'manual', which is entering backup > app+settings and pressing 'back up now' and you get the stupid error 'There was a problem backing up your settings. Try again later'.

Picture stolen from Microsoft Support forum
The old trick of deleting the old backup worked once but not anymore?

Here is the fix:

You have a buggy version of Windows Phone and you have to update it in order to back up without the error.

Probably your phone does the backup OK and you can find it browsing with the computer the Onedrive website. You'll find a backup with the date of your last 'erroneous' backup in the proper section of the web.

So check for phone updates and proceed. Don't worry for data losses, your data will be back after the update despite of backup error.