Sounds like MongoDB‘s Server Side Public License has been a complete failure. Both Redhat and Debian have removed them for their repos. AWS and Azure both built their own MongoDB API compatible databases and have started migrating customers over.
Author: Kyle Piira
-
Jack Bogle has died
Jack Bogle, inventor of the index fund, has died. May he rest in peace.
-
State of Messaging
Messaging is in a poor state these days.
- SMS is unencrypted
- WhatsApp is proprietary software owned by an advertising company
- Telegram tried to roll their own crypto
- Signal is completely centralized and could roll out an update breaking their encryption at any moment
- Jabber doesn’t seem to support E2E group chats and doesn’t have any reliable free providers
- Email is slowly being replaced by Slack which itself provides no encryption AFAIK
- Matrix E2E is in beta
-
Bedrock Linux
I’ve played around with Bedrock Linux for the last few hours. It looks like a really cool project.
It’s not really a full distro but rather a package manager for other distros. So for example you can run ‘brl fetch debian arch ubuntu’ and it will install Debian, Arch, and Ubuntu on your system.
You can also run apps cross distro. So if you have gimp installed in Arch but not Debian you can still run the Arch version of gimp while logged into Debian.
-
Exploration of the Game of Life
Basic Exploration

In-depth Exploration
- Can you find a pattern that returns to its starting point after more than two time steps?
- What’s the longest you can see a pattern go without repeating a configuration?
To answer these questions I decided to build my own implementation of Conway’s Game of Life in Python to brute force all possible starting positions.
""" Kyle's Game of Life Implementation 1) live cells die if they have 0, 1, or 4+ neighbors 2) empty cells have a birth if they have exactly three neighbors """ import numpy as np # Create a blank board board = np.zeros((5, 5)) def iterate(board): """ This function takes the current board state and returns the next state. """ conv_board = np.zeros((7, 7)) conv_board[1:6, 1:6] = board conv = np.lib.stride_tricks.as_strided( conv_board, (5, 5, 3, 3), # view shape (56, 8, 56, 8) # strides ) # The new board b = np.zeros((5, 5)) for i in range(5): for j in range(5): # Count the number of neighbor live cells if conv[i, j, 1, 1] == 1: # Subtract itself from total count b[i, j] = conv[i, j].sum() - 1 else: b[i, j] = conv[i, j].sum() # Cells with 0, 1, or 4+ die b[np.any([b <= 1, b >= 4], axis=0)] = 0 # Living cells with 2 neighbors get to keep living b[np.all([b == 2, board == 1], axis=0)] = 1 # Dead cells with 2 neighbors stay dead b[np.all([b == 2, board == 0], axis=0)] = 0 # All cells with 3 neighbors live b[b == 3] = 1 # Return the new board state return b if __name__ == '__main__': while input('Continue? [y/n] ') == 'y': print(board) board = iterate(board)Results
It took approximately two hours to play all 225 possible starting positions. There were 300,477,379 total steps taken with an average of 8.95 steps per game. The game with the longest period was 39 steps.
The Longest Game


-
GDPR Scam
You know GDPR compliance is going to create a whole new entry point for hackers to impersonate users and send data requests to companies to get people’s info.
-
Introducing the AskSteem Search Engine
This article was originally published on Steemit.com

Over the past month, I’ve been building a new search engine that indexes the steem blockchain. It’s currently live at asksteem.com. The goal of AskSteem is to provide a reliable, powerful, and fast search engine that is optimized for steem. In this post, I’d like to cover some of the features that are available.
Query Syntax
There are many different ways that you can query the AskSteem index. I’ve created a video demonstrating each of them, but you may also read their descriptions and examples below.
Keyword/Phrase Search
Like many other search engines, you can search for general phrases and terms. AskSteem will try its best to find the document that is most relevant to your query based on our ranking algorithm. Example Queries: Tip: Click the example to go to that query on AskSteem
How to buy bitcoinWhat is steemMarkdown tutorialExact Search
Putting a query into quotes requests that AskSteem only returns documents that have exactly that phrase in that order. Example Queries:
"How to buy bitcoin""What is steem""Markdown tutorial"Tag Search
AskSteem allows you to filter posts by tag. Example Queries:
tags:lifetags:steemitAuthor Search
You can filter posts by the author too. Example Queries:
author:thekyleauthor:abitauthor:steemitCreation Date Search
AskSteem provides a highly flexible and powerful date search tool for posts. You can search by exact date or by date range. Dates must be in the form of YYYY-MM-DD. Example Queries: Search for all posts posted on June 2, 2017
created:2017-06-02Search for all posts posted between May 1, 2017, and May 31, 2017created:[2017-05-01 TO 2017-05-31]Search by Number of Votes/Comments
Similar to dates AskSteem has another set of robust tools that allow searches based on the number of upvotes or comments a post receives. Example Queries: Posts with 150 votes:
net_votes:150Posts with between 100 and 150 votesnet_votes:[100 TO 150]Posts with 50 comments:children:50Posts with between 40 and 50 comments:children:[40 TO 50]Posts with more than 50 comments:children:>50or less than 50:children:<50this also works with votes, less than or equal to 10 votes:net_votes:<=10Searches with Boosts
You can prioritize certain parts of your query with boosts. These are indicated by placing a
^nat the end of a term, wherenis the power you want to boost that part of the query to. Example Queries: Give the term bitcoin a boost of two:I really want posts to have the term bitcoin^2 in them.Give the term mine a boost of two, and term steem a boost of three:How to mine^2 steem^3Inclusive/Exclusive Search
You can indicate whether you want documents to contain certain terms by placing a
+or a-in front of the term. Example Queries: Find documents about mining but not bitcoin:cryptocurrency +mining -bitcoinWildcard Search
You can use the wildcard expressions of
?for a single character, or*to match any number of characters. Example Queries: How to mine any cryptocurrency:How to mine *Boolean Search
AskSteem supports any combination of the previously mentioned search types in a single powerful query. This uses boolean values of AND, OR, and NOT, along with parenthesis to separate statements.
Example Queries: Posts tagged with asksteem by @thekyle:tags:asksteem AND author:thekylePosts with between 50 and 100 comments that have more than 500 upvotes and that are tagged with ‘bitcoin’ or have the term bitcoin in the document:(bitcoin OR tags:bitcoin) AND (net_votes:>500 AND children:(>50 AND <100))Posts created on June 2, 2017, with 100 or more upvotes but less than 10 comments:created:2017-06-02 AND net_votes:>=100 AND children:<10Developers
https://www.youtube.com/watch?v=aiqasuhUPXU Because AskSteem integrates directly into the steem blockchain it can read metadata directly from posts and use that data when performing queries and displaying results. We encourage developers to add AskSteem compatible metadata to their posts so that we can show links to your application in our search results. The full documentation can be found at asksteem.com/developers, however, in this post I will summarize the most important tags.
Tag Description Example domain The domain name or web address that your application is hosted on. example.comlocator The path to reach the post on the domain relative to the root. /CATEGORY/@AUTHOR/PERMLINKprotocol Either ‘http’ or ‘https’ if not provided then http will be used by default httpsIf none of the above metadata is provided then AskSteem will link to steemit.com for all posts by default, however, it is assumed that the platform creating the content will have the best interface for viewing it, so we would rather link there.
The
domainandlocatortags are required for custom linking to work, however, theprotocoltag is optional and will default to http.- The domain tag should be the domain name that your web-based steem application is hosted on and is subdomain sensitive (so if your hosting on www subdomain then put that).
- The locator should be the permalink to that particular post in your applications URL structure, also notice the leading forward slash, this is required.
The final URL that we point to will be generated by concatenating the domain and locator together with the protocol at the beginning which will be http unless otherwise specified.
Additionally, if you are building an application on the steem blockchain and need a search API please email us at contact@asksteem.com, we are able to query custom metadata and make various other customizations to the ranking algorithm to support your use case.
Funding
The harsh reality is that search engines are expensive to run and that adding new features and improving performance are difficult if the basic funding needs of the project are not covered. AskSteem currently costs me about $100/month to run, and that number will, of course, continue to increase as steem grows and the index size increases.
Ideally, my goal is the have those costs covered through upvotes from the steem community and to use any extra money for adding new features and scaling the search infrastructure to meet demand. If this works then AskSteem will be the first search engine in the world to use a cryptocurrency based revenue model, instead of selling advertising.
Thank you for your time, and happy searching!
-
How to Make Phone Calls on an iPod
The New iPod Touch from Apple is a great way of getting an iOS 8/9 experience without having to pay the hefty price of the iPhone. However while cheaper than the iPhone it does come with a few drawbacks, one of which is that it cannot be used to make Phone calls or send text messages (by default). However, with today’s technologies, it’s pretty easy for even the most non-technical people to start making phone calls from their new iPod.
Step #1 – Create a Google Account
If you’ve already got a Google account this can be skipped however the service will be using is owned by Google and requires a free Google account to start using it. You can register here.
Step #2 – Get Google Voice
Next in your browser while signed into your Google account visit voice.google.com and run through the basic setup process.
Google Voice Setup:
- Choose I want a New Number from the Initial Setup or if you prefer you can use your current number.
- Add any of your current phones as a Forwarding phone. (What Phone You Choose doesn’t matter for this tutorial)
- Enter Your Zipcode, or a Keyword to search for available numbers to choose from, then a list should appear and you can pick a number that you like.
Step #3 – Edit Basic Settings (Optional)
Once you set up your Google Voice account and select your number you can change specific settings such as your voicemail and pins by clicking on the gear icon in the upper right corner of the user interface and selecting settings.
Step #4 – Install Google Voice App
Next, you just have to install the Google Voice App on your iPod and connect it to your Google Account. Once you complete the Application setup your ready to send and receive text messages, and phone calls from your iPod for free. The number that you give to people to call you is the same number you choose when you set up Google Voice. If you forgot your number then you can find it easily by logging into Google Voice and finding the listed phone number in the left column.
-
Top 5 Dedicated Hosting Providers
1. Gigapros Web Hosting
While Gigapros do have Shared and VPS hosting, where they really shine is in their Dedicated Servers. They have a very different way of operating that differentiates them for many other web-hosts and puts them as number one on this list. The main one being how they allow you to pick exactly the specs you need for your server, including RAM, CPU, and any Operating System from CentOS to Windows. On top of that, you can add, some extremely competitive pricing such as a 64 GB of RAM, and 3.8 GHz Processor server coming in at just 119 USD a month.
2. BlueHost
I like to think of Bluehost as the Apple of the web hosting world. While they do shine in some areas the main that I find really unique are support and simplicity. To address the first one, in all the times I’ve ever had an Issue with any of my Bluehost servers I never had to wait for more than 5 minutes before getting into their real-time chat with someone who can actually help me, instead of some low-level salesperson. The simplicity part is not necessarily as big of a deal with the Pro web-designers and Entrepreneurs as with the newbies, but its always nice to have everything you need available in one place (such as Domains, Hosting, etc.). Another quick side note is that for some reason I’ve never had to wait more than 5 minutes for a domain I purchased through Bluehost to propagate for their servers.
3. DreamHost
I’ve always had mixed feelings about Dreamhost based on my first experiences with them, however as of the time I’m writing this review I’m glad to say that they’ve really become one of the more competitive web-hosts. While they really don’t offer any of the simplicity of Bluehost or the low prices of Gigapros if you’re looking for a good mix between Price, Support, and Reliability then Dreamhost is defiantly a good candidate to look into.
4. HostGator
HostGator is another company similar to BlueHost as in they put customer satisfaction, and support before anything else. While neither their VPS or Dedicated servers give you as much bang for your buck as Gigapros, they still offer very powerful Dedicated servers. While you shouldn’t expect to go starting your own social network on HostGator, you can certainly get some really large WordPress or other basic CMS sites going. HostGator also similar to Gigapros offers both Linux and Windows server hosting.
5. GoDaddy
I’d be amiss not to at least talk about GoDaddy in this list considering they are probably the most popular web hosting company. Although to be Frank nearly every experience I’ve had with actually hosting with GoDaddy has been just terrible, and I can’t recommend you buy anything but Domain Names from them.
-
Top 8 Best AdSense Alternatives
So you’re doing good for yourself and making decent earnings off AdSense. But then one day you get that email in your inbox with the subject “AdSense Account Disabled” and everything changes. You suddenly realize that any other respectable Ad Networks either have low CPM or are just pure scams. So here I’ve compiled a list of all the other Advertising Networks I tried before I got my AdSense Account back.
8. Amazon Associates
While I am aware that Amazon Associates is technically an affiliate network I wanted to include it on this list simply because it’s a great source of extra revenue if you’ve got a site with a heavy and loyal following or a high conversion rate. It pays out similar to any other Affiliate program (based on sales) however since Amazon has such a large variety of products its easier to find relevant products than with other affiliate sites.
7. Chitika
Chitika pays via PayPal and allows you to customize your ads to better suit your websites like AdSense. The Downside to Chitika is its search-driven meaning the ads shown, are based on what Search Terms were used to get to your site not the keywords on your site.
6. InfoLinks
This is ad network creates blue underlined words like hyperlinks in your content automatically, and only shows ads when the links are hovered over by the user. Currently, InfoLinks doesn’t support any type of banner ads however they do have lower requirements so if your site is just starting up it might be worth a try.
5. ProjectWonderful
Despite having a rather strange name ProjectWonderful has a very unique model based on advertisers renting time on your site. The best part being that the system works on a bidding system so you usually end up making more money than you would with CPM or PPC Ads.
4. BuySellAds
Similar to ProjectWonderful, BuySellAds allows advertisers to pay for Ad space on your websites based on how much they are willing to pay or how much your minimum advertising cost is.
3. Advertising.com
Advertising.com is AOL’s solution to advertising (yes AOL) and has become a very large and respectable ad network online, although they do have rather high requirements compared to some of the others listed above.
2. Tribal Fusion
This Ad Network is by far the king of the CPM Networks and requires about 500,000 Impressions per month. Although it has a high need it pays off well with some of the highest CPM Rates on the internet, even when compared to AdSense.
1. Media.net
Media.net is part of the Yahoo | Bing Ad Network, and so is basically Microsoft’s equivalent of AdSense. While the exact requirements are unknown its very difficult to get invited into this ad network is so far we’ve only seen sites with millions of monthly users using.
Bad Eggs
During my time looking for Google Adsense alternatives, I also found a few spammy/scam Advertising networks that look legit but will end up not paying you or showing fewer clicks/impressions then your ads actually get.
RevenueHits
While this site would convince anyone that it’s a legit ad-network I found that all of there ads were spammy download buttons, and sometimes opened up popups or tried to download malicious software to the visitor’s computer. I have also heard stories of people getting their entire sites blacklisted from Google as being malicious because of RevenueHits Ads.
AdHexa
While Adhexa will indeed pay you and has better quality ads then RevenueHits they often seem to only count a fraction of the impressions your actually getting which may simply be a software glitch on their servers but still stay away until they become more reputable.