New FrostWire 5.7.2 with uTP support

April 12th, 2014 2 minutes reading time.


Download FrostWire 5.7.2 for Windows (Bitcoin, Litecoin, Dogecoin enabled .torrent)
Download FrostWire 5.7.2 for MacOSX (.torrent)
Download FrostWire 5.7.2 for Debian/Ubuntu (.torrent)

This release is all about performance and stability.

Some users have complained about what happens to their internet connection when using FrostWire heavily, so we’ve finally added uTP support to solve these issues.

FrostWire can now deal with bandwidth congestion issues in a way that won’t compromise your internet experience while you use it.

You can, for example, see how FrostWire will automatically adjust its transfer speeds to cede network resources to other programs in your computer, like your web browser while surfing the web or streaming a movie from Netflix.

If the connection is not being used by any other software FrostWire will automatically use as much bandwidth as it can, and you don’t have to do this manually using the existing throttling controls, and all this while not clogging up your router’s memory.

Another benefit of having added uTP is that some WiFi/DSL/Cable routers won’t have issues with packet data overflow when torrenting with FrostWire, which in some cases can completely drop the internet connection forcing you to restart your router to reconnect to the Internet.

We’ve also taken care of very important user experience details, that should make FrostWire easier to understand for new users, as well as smaller usability bugs and crashes that have been fixed.

Here’s the full list of changes.

frostwire (5.7.2) stable; urgency=high
  * uTP support enabled.
  * Multiple crash fixes.
  * UX: playable single file torrents now can be played from transfer list.
  * UX: Fixes UI Thread freeze when opening Options > Search.
  * UX: Better error reporting when a torrent can't be fetched from a
        magnet connection.
  * Spanish translation update by @dennistobar.
-- FrostWire Team <contact@frostwire.com> Fri, 11 Apr 2014 14:22:10 -0500

Love FrostWire?
Consider donating. bitcoin - dogecoin - $1 - $5 - $10 - $25 - paypal

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

Setting up Eclipse as your IDE for Bitcoin C++ development on MacOSX.

February 9th, 2014 5 minutes reading time.


If you are a Java developer used to the productivity levels achieved by working with eclipse’s code navigation, code completion and refactoring tools, it’s worth your time staying in eclipse for any sort of C++ development.

Screen Shot 2014-02-09 at 1.03.21 PM

This post refers specifically to getting your eclipse environment to work with a particular C++ Open Source project, The Bitcoin Project.

Before you start setting up eclipse, please make sure you can build Bitcoin from the command line, this way you know that you have everything necessary to build Bitcoin, even if you’re still getting a few errors showing in Eclipse, in the end Eclipse will be using the Makefiles provided by the project whenever we need to compile (and it can do so incrementally when possible saving you a lot of compilation time)

I’m assuming you have installed:
- eclipse
- eclipse CDT tools, up to date for the version of eclipse you’re working with (I’m still working with Juno)
- Qt/Eclipse plugin (optionally)
- All the dependencies (autoconf automake berkeley-db4 boost miniupnpc openssl pkg-config protobuf qt gdb) necessary to build Bitcoin which are easily installable via HomeBrew.

1. Let’s import the bitcoin/ project to our workspace.

File > Import > Existing Code as Makefile Project

Screen Shot 2014-02-09 at 12.41.45 PM

 

Look for the bitcoin/ git checkout folder, and make sure you use the GNU Autotools Toolchain

Screen Shot 2014-02-09 at 12.43.05 PM

 

Click Finish.

2. Fixing the C++ compiler Path and Symbols.

Right click on the project containing folder in the Project Explorer > Properties.
Go to C/C++ General > Paths and Symbols > Languages: GNU C++ >  ”Includes” Tab and make sure it looks something like the screenshot below (I got those paths by looking at  the  ones used by the Makefiles in the Bitcoin. Hit Apply , OK, then wait for the reindexing, you might still have a few weird errors because of how the compiler checking settings are.

Screen Shot 2014-02-09 at 12.55.38 PM

3. Remove a few more issues like “Error: Invalid arguments candidates are: void resize(?, int)."

We open again the project Properties, this time we go to C/C++ General > Preproessor Include Paths, Macros, etc.
Click on the Providers tab and make sure “CDT GCC Built-in Compiler Settings [Shared]” is checked. Hit Apply, OK, wait for reindexing.
If there are still errors, you might want to just delete them and refresh the project (F5 on the project folder in the Project explorer), all errors should be gone by now.

Screen Shot 2014-02-09 at 1.01.25 PM

Now start working just as fast as you’re used to with Java on Eclipse.

 

Code completion…

Screen Shot 2014-02-09 at 1.09.39 PM

 

Project wide renaming refactors in seconds…

Screen Shot 2014-02-09 at 1.10.07 PM

 

 

Find references of variables, methods, classes (Cmd+Shift+G)

Screen Shot 2014-02-09 at 1.23.37 PM

 

Find all the implementations of an interface (Cmd+T)

Screen Shot 2014-02-09 at 3.34.39 PM

and best of all

Interactive debugging with gdb*

Screen Shot 2014-02-11 at 1.21.07 PM

and all the tools you know and love from Eclipse.

*Setting up GDB debugging

To do step by step debugging you can use gdb, if you don’t have it installed just go to your Terminal and type brew install gdb.

On your command line, execute your Makefile to create an executable, once it appears on your Project Explorer you can Right click on it Debug As > Debug Configuration…

Screen Shot 2014-02-11 at 1.31.43 PM

then make sure you have set gdb as the executable debugger in the “Debugger” configuration tab, then just set your breakpoints and debug away!

Screen Shot 2014-02-11 at 1.32.00 PM

Not so fast… :(

As of Mac OSX 10.9, Apple decided that you cannot use gdb unless the gdb executable is signed with a certificate, they want you to use their super duper lldb debugger, but it’s still not compatible with Eclipse, you know, so you use their XCode IDE instead of what you want to use…

Anyways, signing the gdb at /usr/local/bin/gdb is not that hard.

To sign it you can create a certificate, or use an existing developer certificate. In my case, I already had a Mac Developer certificate so it was a very simple process, just issuing a single command in the Terminal and I finally got rid of the "Unable to find Mach task port for process-id 93213: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8))" error.

codesign -s “Name of my certificate here” /usr/local/bin/gdb

Then I tried debugging, I got a password dialog to verify I was the owner of the certificate, and then gdb could take over and then I could do my step by step debugging, with the ocassional crash.

Happy Hacking.

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

How to actually build bitcoin on Mac OSX 10.9.1

February 3rd, 2014 1 minute reading time.


First of all, if you have Macports, do yourself a favor and get rid of it.

Then make sure you have Homebrew installed and all the packages installed by it up to date.

1. Let’s install all the dependencies for Bitcoin hacking.

brew install autoconf automake berkeley-db4 boost miniupnpc openssl pkg-config protobuf qt

2. Make sure you have the right OpenSSL version installed. Type the following on your terminal:

openssl version

you should see “OpenSSL 1.0.1f 6 Jan 2014.”

if you see an older version, do

brew update
brew upgrade

OpenSSL should be upgraded, you may or may not have to issue a “brew link openssl” or even a “brew link --overwrite openssl” if it’s giving you trouble.

3. Now, let’s configure, and make. I strongly suggest you add the boost library path when configuring, otherwise you may get nasty “Undefined symbols for architecture x86_64” compilation errors. During the time I wrote this, homebrew had installed boost 1.55 in my system, and the boost lib path was /usr/local/Cellar/boost/1.55.0/lib so I invoked the following:

./configure --with-boost-libdir=/usr/local/Cellar/boost/1.55.0/lib

After that I just issued a

make

And I was done.

If you want to hack the bitcoin-qt client like me, head to src/qt/, there should be a bitcoin-qt executable there now.

Enjoy

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

Demonstrating unfinished aspects of the Microsoft Windows 8.1′s Windows Store experience

February 2nd, 2014 1 minute reading time.


For this demo, I’m using a Dell Venue 8 inch tablet with an optional bluetooth keyboard.

I’ll present you with a few frustrating use cases that are very non-intuitive and in which regular users would absolutely get lost during the task at hand.

1. When updating apps, it’s very hard to discover how to select just a single app as Microsoft introduces yet another unnatural gesture for single selection of an item.

2. When installing an app, there’s no “OPEN” action available on the store.
When the user goes back to the Start screen, the app is nowhere to be found.
Once the user figures out how to see all the apps, the user will have to search for the app as there’s an overwhelming amount of icons with very small type to choose from.

It’s not as bad as it used to, but it still has some details that really need to be taken care of to not frustrate users and send them running for Android/MacOSX.

I hope someone at the Microsoft Windows UX Team is listening, and can see the frustration from a long life computer user’s perspective.

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

First impressions of the Dell Venue 8″ pro running full blown Windows 8.1 (Intel Atom)

February 2nd, 2014 1 minute reading time.


Check out the new Dell Venue 8″, this is a pretty cool $300 tablet that runs FULL blown Windows 8.1, so you can use like a full blown desktop. Then if you’re not working, you can take it to the living room, bedroom, couch, wherever and have fun with it like with any other tablet.

In this video I’ll set it up in front of you and share with you my first impressions.

After using it for a few days here are a few thoughts:

Pros:
– Great 8″ form factor for tablet use.
– Has all the popular apps you’d expect on a tablet.
– If you associate a bluetooth keyboard and mouse, flip it over, you have a full blown desktop computer to do actual work.
– Has an x86 CPU, so you don’t end up with Windows RT which nobody has developed apps for. You can all the available Windows desktop software, and all the new stuff coming out for the touch world.
– Expandble storage via SD cards.
– Affordable, only $299.
– You can attach a larger monitor via USB using the Pluggable Dock (see this video http://www.youtube.com/watch?v=jPPY4m8iY0k )

Cons:
– Super Heavy for that size when compared to the iPad or the Kindle Fire HD.

Still Testing:
– Battery life so far I can’t complain, let’s see how it holds up with a bit more usage throughout the day.

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

First Impressions Lenovo Yoga Pro and Windows 8.1 with a 2 in 1 device.

February 1st, 2014 1 minute reading time.


After now almost 2 weeks of heavy duty use of this machine, I must say Windows 8.1 is not fully baked when it comes to its tiled/touch/app store experience, however it’s not the nightmare I expected.

The FrostWire 5.7.0. currently circulating on the Internet was built on this machine, the experience was quite pleasant as a workstation, and then I carried it around for the North American Bittorrent conference and during that time it was a very convenient tablet while I was doing all the social networking during the event.

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

WordPress: Cannot create directory error, got everything chmoded to 777?

January 27th, 2014 1 minute reading time.


So you went as far as chmod’ing your entire folder structure to 777 (very unsafe), you’ve hacked wp/wp-admin/includes/file.php

return new WP_Error( 'mkdir_failed_ziparchive', __( get_current_user() . ' Could not create directory. ('.$_dir.')' )...

to print out exactly what directory it cannot create and what user is trying to create the folder, everything is correct, yet it won’t create the fucking folder?

the issue might be your vsftpd configuration!

Go to /etc/vsftpd.con and make sure that you have this setting uncommented:

write_enable=YES

restart your vsftpd (sudo service vsftpd restart) and try upgrading again, you’ll want to hit that ‘Donate Bitcoin’ button if I saved your ass today.

Cheers

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

building cgminer from source on OSX

January 19th, 2014 2 minutes reading time.


so you cloned the cgminer repo from github to build on your OSX machine and you get this bullshit error

$ ./autogen.sh
readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: dirname path
touch: /ltmain.sh: Permission denied
Use of chdir('') or chdir(undef) as chdir() is deprecated at /usr/local/bin/autoreconf line 670.
Configuring...
./autogen.sh: line 10: /configure: No such file or directory

readlink works differently in OSX and the current version of the autogen.sh script seems like it wasn’t tested on OSX (wonder why didn’t they use a simple bs_dir=`pwd`, the answer is probably canonical paths and what not).

To keep moving along, open the autogen.sh script and just change the value of the bs_dir variable to the full real path of where you have cloned the cgminer source code.

then execute your autogen script, make sure to enable compilation flags for your ASIC hardware, in my case I remember seeing ‘icarus’ on a binary build of cgminer I tried before, so I did

./autogen.sh --enable-icarus

you might want to enable all of them if you’re not sure what hardware you have or you will have in the future as you may not like the joys of building software (check out the the README for all the –enable-xxx options available)

If you’re getting errors on your configuration script due to missing dependencies, I strongly recommend you use Homebrew to install these packages (if you are using Macports or Fink, I strongly suggest you completely remove that crap from your computer and go 100% with brew, it works really well if you’re building a lot of code on a regular basis):

brew install autoconf automake autoreconf libtool openssl curses curl

brew, at the point of this writing didn’t have libcurl, so that one you will have to download, ./configure, make and sudo make install yourself from here http://curl.haxx.se/download.html (I used version 7.34 when I did it)

after that the autogen script should work, and then you should be just one ‘make’ away from your goal.

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

AWS troubleshooting: how to fix a broken EBS volume (bad superblock on xfs)

January 19th, 2014 2 minutes reading time.


As great as EBS volumes are on Amazon Web Services, they can break and not ever mount again, even though your data could still be there intact, a simple corruption on the filesystem structure can cause a lot of damage. On this post I teach you how to move all that data onto a new EBS drive, so keep calm and read slowly.

So, you try to mount your drive after some updates and you get an error like this on dmesg | tail:

[56439860.329754] XFS (xvdf): Corruption detected. Unmount and run xfs_repair

so you unmount your drive, invoke xfs_repair and you get this…

$ sudo xfs_repair -n /dev/xvdf
Phase 1 - find and verify superblock...
bad primary superblock - bad magic number !!!

attempting to find secondary superblock...
..........................................

and no good secondary superblock is found.

Don’t panic, this is what you have to do next to solve this issue:

1. Go to your AWS dashboard, EC2 section.
2. Click on “Volumes”
3. Find the broken volume.
4. Create a snapshot of the broken volume (this takes a while)
5. Create a new volume the same size (or larger than) your old drive out of the snapshot you just created (this takes a while)
6. Attach your new volume to the same EC2 instance (no need to reboot or anything), if the old drive was mapped to /dev/xvdf, the new one will be mapped to /dev/xvdg (see how the last letter increases alphabetically)

Now here’s a gotcha, Amazon will not create your new drive using the same file system type (xfs), for some reason it will create it using the ext2 filesystem.

$ sudo file -s /dev/xvdg
/dev/xvdg: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=2e35874f-1d21-4d2d-b42b-ae27966e0aab (large files)

Here you have two options:
1. Live with the new ext2 file system, make sure your /etc/fstab is updated to look something like this:
/dev/xvdg /path/to/mount/to auto defaults,nobootwait,noatime 0 0

or 2. copy the contents of your drive to a temporary location, usually inside /mnt which has plenty of space from that ephemeral drive the ec2 instances come to, and then mkfs.xfs the new volume, and then copy the contents back… (which what I did, as I chose to create a larger drive and the ext2 format that came on the new volume only recognized the size of the snapshot)

Hope this saved your ass, leave a note if I did.

Remember to never do any irreversible action until you have a disk snapshot, try your best to never lose data.

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

Why buying Bitcoin in 2013 is a no brainer

December 5th, 2013 4 minutes reading time.


I think the BitCoin market cap will grow AT LEAST ten fold in 2014 as only a mere 10% of the internet’s b2c trade exponentially shifts into Bitcoin as the internet’s de-facto currency thanks to it’s convenience and optional low transaction fees.

Global business-to-consumer e-commerce sales will pass the 1 trillion euro ($1.25 trillion) mark by 2013, and the total number of Internet users will increase to approximately 3.5 billion from around 2.2 billion at the end of 2011, according to a new report by the Interactive Media in Retail Group (IMRG), a U.K. online retail trade organization.”
-Abdul Montaquin, Internet Retailer.

These numbers are pretty amazing, about USD $1.25 trillion in e-commerce sales alone, now add to that business to business (b2b), and it’s a hell of a lot more money changing hands online through a very innefficient money transfer infrastructure which has a very high barrier of entry for people outside developed nations.

If you want to accept payments on a website today, some of the easier options are things like Paypal or Gumroad, but in order to use those you need to have a Bank account in a country where those merchant companies do business. In some countries that’s just not a possibility and there’s a large portion of the world that’s being shunned from e-trade.

Even if you get in, these companies are there to solve a problem for you (being able to process payments) and they present a set of inconveniences of their own, the most obvious is their business model, they charge fees for processing your payments, and these fees are so high that they’ve shunned out the possibility of processing micropayments (say being able to sell goods or services for just a few pennies)

And then, there’s regulation, which forces these payment companies to impose limitations on you, they limit how much money you can transfer per month, how much money you can receive, and they even limit the kinds of activities you can do to accept payments.

That’s a lot of problems that BitCoin solves TODAY.

With BitCoin, anybody in the world can create a BitCoin wallet in their computer, paste a bit of HTML on their site, and start processing payments without having to have a bank account, without having to pay fees (fees are optional if you want speedier payments), and best of all nobody can limit the amounts you will process no matter how small or large.

If you go back to those $1.25 trillion of the e-commerce to consumer, plus whatever other amount of money is floating around the internet this year, and you think how fast the internet is at adopting new solutions to make itself leaner and more convenient, it’s easy to see that even if next year, just 10% of that $1.25 trillion would be poured over the Bitcoin economy, say just $125 billion would be bought into BitCoin, today’s BitCoin market which is valued at a mere $13 billion would grow to about $138 billion, let’s round it up to $140 billion.
That would make today’s BitCoin be valued about 10x more.
And that’s if only 10% of the b2c commerce would happen in BitCoin.
Now imagine the world’s that’s been shunned out of ecommerce coming into play and the exponential technological adoption coming into place, think how fast websites got to put those Facebook Like Buttons, now imagine “Pay with BitCoin” everywhere, and every innefficiency around BitCoin being taken care by the entreprenurial people of the world. BitCoin is without a doubt the greatest thing to have happened to the internet in the last years, money is being transformed.

What are you waiting to get some BitCoin?

(If you want to learn more about BitCoin, save yourself sometime and check my BitCoin essentials and must have bookmarks)

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]



  • Categories

  • April 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • October 2009
  • September 2009
  • July 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006
  • April 2006
  • March 2006
  • February 2006
  • January 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • December 2004
  • November 2004
  • October 2004