To make scrollbars always visible in OS X, first open System Preferences, and click on General.
Then under “Show scroll bars” click the bubble for “Always”
If you’re like me, every time you turn on OS X, you launch Thunderbird, Firefox and Terminal. You can configure OS X to do this for you automatically.
First, start System Preferences. Then click on “Users & Groups”
Now, click your username in the left column, and then click “Login Items”
Now, click the little “+” under the list of applications
And add applications to the list. They will launch automatically when you log into OS X.
Don’t forget to click the lock in the lower left corner of the System Preferences window to save your changes.
Lately I have been using the wongi-engine ruby gem, which is fast and works well. In my opinion the documentation could use more examples of proper syntax, so I will provide some here. Before this project I had not used a business rules engine or heard of the Rete algorithm before, so some of this might be obvious to more experienced coders, but I had to figure it out.
harry = Student.new
engine = Wongi::Engine.create
engine << [harry, "wizard", true]
engine << [harry, "muggle", false]
engine << [harry, "potions_grade", 1]
engine << [harry, "spells_grade", 2]
advance_grade = engine.rule "advanced to second grade?" do
has :Student, "wizard", true
neg :Student, "muggle", true
maybe :Student, "potions_grade", :Potions_grade
maybe :Student, "spells_grade", :Spells_grade
assert do |token|
token[:Potions_grade] < 3 && token[:Spells_grade] < 3
if advance_grade.tokens.size > 0
harry.grade = 2
As you can see from the example code snippet above, you can easily perform simple operations like == or != using the has and neg keywords in a Wongi::Engine rule block. However, to do more complex operations you can use maybe to put a value into a token variable, then perform operations like < on the values stored in the token in an assert block. The assert block will return true or false based on the final line in the block, so don’t do anything important in earlier lines and then lose track of it. The documentation refers to less and greater keywords, but describes their use as “obvious”, and I wasn’t able to figure out how to use them to compare anything stored in a variable.
People who discuss bitcoin can’t agree on much, but we can all agree that there is a lot of bad writing out there about bitcoin. Over the last few weeks I’ve taken an interest in bitcoin and here is the reading material I found most useful.
When you start doing development work, dont use real money, use Testnet. It’s a parallel bitcoin protocol that has no value but is the same source code.
If you want to buy some real bitcoins with US Dollars, I recommend coinbase. They are very likely not a scam, considering who their investors are.
If you liked this post, you can tip me with bitcoin!
I’ve started to see the phrase “hey, this is important” whenever some automated system wants me to do something. It did catch my attention at first, but as with all such discoveries, it will be overused and lose its power.
This cycle seems to be happening more quickly these days. Some marketer, trying to manipulate people, finds a new concept or phrase that increases clicks and attention to whatever they are peddling. You’ve seen them all, from old banner ads where you “shoot the bird”, to “one weird trick.” If it works, it is adopted everywhere, and our collectives eyes learn to slide right past it.
That’s why google and facebook and yelp want to put your friends into ads. I fear the consequence of this trend, will I learn to ignore my friends?
Everyone knows that you should use long passwords that are difficult to guess, and never reuse passwords. The best way to actually accomplish this is by using password management software like LastPass. When you set up lastpass, be sure to use a long passphrase and set up two-factor authentication for your lastpass account. Then install the plugin on every web browser you use. Now allow lastpass to save all of your passwords, and generate really long random strings as passwords when you create new ones.One final step is to go back and change your old passwords that are bad or reused. That way, when there is a breach like the one suffered by LinkedIn recently and one of your email/password combinations is exposed to the world, the damage is limited to that one passwords and website.
I’m using over 99% of my laptop’s 114GB SSD hard drive, so every GB counts. Recently I tracked down an application that was taking up more and more disk space: bitcoin-qt, the reference bitcoin client software. Bitcoin-qt keeps a local copy of the entire blockchain history, which makes it more secure than clients which rely on the network to be free from attackers, or rely on a remote server to verify the blockchain. However, the blockchain is only getting bigger.
View the blockchain size (currently about 13GB and growing)
And on my local machine
~ $ du -h .bitcoin/
If you have limited hard drive space, you might have to trade off bitcoin security for space. To make an informed decision, read up on what options you have. It is possible to use a thin client on a laptop that does not verify the blockchain. These thin clients work well on smartphones.
I am sadly aware that scary blog posts about bitcoin only make the bitcoin world less inviting to newcomers. If you want to get started with bitcoin, I recommend making a coinbase.com account, using two-factor auth and a great password, and keeping your bitcoin in their online wallet. Then, you can transfer a small amount, like $1 worth, to a local wallet to experiment with. Remember to back up your local wallets.
Personally, I am installing bitcoin-qt on an older machine that has a magnetic hard drive and plenty of empty space. Then I will transfer my bitcoins off of my SSD machine and delete this local copy of the blockchain.