Start of the personal mini-vacation
Oct 13th 2012In preparation for the newest addition to our family being born mid-February (yay!), Tara and I determined we needed a short vacation to recoup before our little girl is born. And by short vacation, we're talking totally away from everything. I am currently on my mini vacation right now! (Taras is next week.)
I used Airbnb and found this place to stay. I came here right after work Friday night, and I won't be headed home until Sunday evening. I miss my family like crazy. It's the first time I've ever been away from them. Like for real. Last time Tara and I didn't sleep in the same place was the couple days before our wedding. That also means I've never been away from little A either. It's hard, but I think it's a good thing for everyones sanity overall.
Funny thing, so I have all this time now, right? I totally can't think of what to work on! I am at Fertile Grounds in Berkeley right now.
What are the things I could work on?
- Nickelpinch actual code
- Nickelpinch video
- Spacefruit (codename for space game)
- Other game (?)
- Contract work
UPDATE: I'm glad I typed this out. Thinking about it, definitely going to tackle contract work. There is a job I'd really like to finish, for the customer and so it is off my mental stack. And billing money that covers my stay will feel awesome.
Why stories are powerful.
Aug 29th 2012Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed.
-G. K. Chesterton
And something similar he said later...
Fairy tales, then, are not responsible for producing in children fear, or any of the shapes of fear; fairy tales do not give the child the idea of the evil or the ugly; that is in the child already, because it is in the world already. Fairy tales do not give the child his first idea of bogey. What fairy tales give the child is his first clear idea of the possible defeat of bogey. The baby has known the dragon intimately ever since he had an imagination. What the fairy tale provides for him is a St. George to kill the dragon. Exactly what the fairy tale does is this: it accustoms him for a series of clear pictures to the idea that these limitless terrors had a limit, that these shapeless enemies have enemies in the knights of God, that there is something in the universe more mystical than darkness, and stronger than strong fear.
-G. K. Chesterton
I came across this today. I swear it's like a message from my younger self. I don't understand how I lost this feeling, but I will try to never lose it again.
CloudPrinter
Aug 8th 2012TL;DR print doc->driver uploads to your owncloud->QR code displayed, links to it
Quick brain dump
ownCloud needs this. It would help it ascend to low-oxygen heights.
- Using my desktop, I'm on a page, or email that I need to take to a meeting, review later, whatevs.
- I go to print, choose 'CloudPrinter', and print.
- Print driver turns content I was viewing to either png or pdf, and uploads to my ownCloud
- Moments after it 'printed', a big QR code shows up
- Take pic with tablet/smartphone and BAM that file is on my device
Heavens, think of the paper savings in offices..
Rsync problem; connection refused
Jul 11th 2012I was trying to rsync over some content between two linux servers (RHE5) at the office, and I kept getting:
servername: Connection refused
rsync: connection unexpectedly closed (0 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(165)
It was driving me batty. Rsync was set up on both servers, I could rsync from my workstation to either of them just fine. What was the problem rsync'ing between them??
I found excellent info in this ServerFault answer:
Try verbose mode in rsync by adding -vvv to see where it is failing. Are you using a very old version of rsync that doesn't default to using ssh (older than 2.6.0)? If so, try adding -e ssh to force ssh mode. -Phil Hollenback
I used the '-vvv'
option to get very verbose output when I tried the command. And, ah ha! It was trying to use rsh for the connection.
Getting it to work was just a matter of adding the option '-e ssh'
after my other options, and it worked!
(I'm going to start writing posts documenting problems I ran into, and how I fixed them. It helps me remember, and maybe could help others.)
Support the FOSS you use!
Jul 10th 2012In the last couple of months I've gotten fairly active on Kickstarter. Check out my backed projects if you're curious.
I've also started donating to the FOSS projects I use, and it feels good. However! I need to do more. There is a list of projects I want to donate to, and I keep forgetting. Then it gets to the tight part of the month, and I can't afford to. So I made a page of projects I donate to, and some I want to in the future. I'm forgetting many on that page, but I'll fill it in as I remember. I'm doing this to be held accountable, and to encourage others to support the FOSS tools they use.
A miniature place for meditation.
Apr 25th 2012It's a quiet place, where a little being can go to meditate and calm themselves.
Revenue from online courses?
Apr 22nd 2012I've been thinking more about online courses (Since I enrolled in CS253), and different possible models for revenue.
Free seems interesting and obviously useful, but maybe not right away? Here is what I was thinking:
- Course begins; $5 per class (Mostly for bandwith/server costs)
- All the lectures, reading etc is passive, and doesn't cost the teachers anything
- For every question you ask the teacher/TA, a $0.50 charge goes to your account, which you pay off monthly
- Obviously, help obtained from community support (class forums, chat) is free
This seems like it could be sustainable, especially as some of these courses get larger.
What could be done is, at the end of the course, the content is freely-accessible. Still, questions can be asked anytime for that $0.50 charge.
Enrolled in CS253 on Udacity
Apr 20th 2012I enrolled in CS253 on Udacity.com. I can't get to the course content yet, because apparently their site it slammed?
Anyway, I'm interested in what the course offers:
Description: Web applications have the power to provide useful services to millions of people worldwide. In this class, you will learn how to build your own blog application starting from the basics of how the web works and how to set up a web application and process user input, to how to use databases, manage user accounts, interact with other web services, and make your application scale to support large numbers of users.WEEK 1: How the Web Works
Introduction to HTTP and Web ApplicationsWEEK 2: How to Have Users
Getting and processing user inputWEEK 3: How to Manage State
Databases and persistent dataWEEK 4: Whom to Trust
User authentication and access controlWEEK 5: How to Connect
Web applications as services, using APIsWEEK 6: How to Serve Millions
Scaling, caching, optimizationsWEEK 7: Changing the World
Building a successful web application, project
A lot of this I know, though I'm mostly self-taught. I try to find standards compliant places to learn from, but I always fear there is a better way out there to do certain things; this should help with that.
Week 6 looks the most interesting, as I don't have experience with scaling. I have lots of things I implement to handle scaling, but haven't gotten the traffic to really put them to the test.
I'll keep posting about my experience.
Announcing ICLS
Apr 5th 2012[caption id="attachment_135" align="aligncenter" width="565" caption="Adding an entry to ICLS"][/caption]
What whaat?
That's right, I actually finished a side project. I worked on this on my lunch breaks occasionally for 2-3 months. Behold!
ICLS (Inconceivably Complex Logging System)
On Github: https://github.com/timbotron/ICLS
Summary
ICLS is a command-line, python-based logging system that supports tagging, searches, reports, etc. It stores this data in Amazon's SimpleDB, (in your account of course). Specifically, it's designed for a contract worker to be logging what they are doing at that time, bugs they figured out, etc. However, there are many other potential uses, such as having all your servers sending their log messages to one location.
The Name
Why call it 'Inconceivably Complex'? Because, in one sense, it's rediculous. You need to write a log? Write to a flat file. Writing to a cloud-based NoSQL data system is completely overkill. OR IS IT; I THINK NOT.
Notable features include
- Dead-simple to add an entry (icls "entry text here")
- Tons of options (Default tag, search by term, tag, date range, etc. see documentation)
- icls.conf config file
- entry retrieval and deletion
[caption id="attachment_124" align="aligncenter" width="600" caption="A report using a date range."][/caption]
Requirements
- Python
- Account with Amazon Web Services
- Boto, a Python package, I didn't want to use any packages, but using boto makes the auth, etc much easier. And at the end of day, I want to get this working, not take forever re-inventing the wheel on HMAC signature generation.
Reason for Building
ICLS is a side project. I wanted a log I can throw all my little random posts into, without feeling weird about compromising the 'professionalism' of my identi.ca/twitter account. Also, I wanted to try working with Amazon's SimpleDB, and continue to strengthen my Python skills. And it totally worked for that, I feel more confident in my abilities.
[caption id="attachment_125" align="aligncenter" width="600" caption="Example of a search by tag"][/caption]
License
Copyright 2012 (c) Tim Habersack.
ICLS is licensed under a GNU General Public License (GPL) v3.
Why StatusNet is useful
Mar 28th 2012Imagine a world where email aliases are a thing of the past. Where anything you've ever messaged someone is easily accessible and searchable. Where meetings are reduced greatly, so you can actually get your work done. Where you could easily reach out to other staff to find solutions to problems, even if you don't know they have that knowledge..
That world is here, now.
How can we arrive at this world, you may be asking? That answer is simple. StatusNet.
StatusNet is an Enterprise level, open source, web-based microblogging platform. Very similar to Twitter/Facebook (hashtags, direct messages, groups etc), but it can be hosted internally, and is customizable. (Increasing text limit, for example.) For those unfamiliar with the concept of microblogging, StatusNet has an excellent simple tour.
How this could work for your company
Imagine being able to follow specific hashtags. Some examples that come to mind are customers (#BobBoblaw, #Sony), products (#widget3, #turbowidget), or even technologies (#postgres, #linux).
Here's an example:
Bob Hall on the second floor is having problems with a #postgres db, so he asks:
Having problems in #postgres getting it initialized so #turbowhidget can hit it. It's at #CompanyX. Any ideas?
John Doe on the first floor follows the #postres hashtag, because he loves it so. Bob's message pops up on his timeline, so he replies:
@bhall Have you checked your postgresql.conf that the listen addresses are correct? #postgres
Bob Hall has that reply pop up in his timeline, since he is mentioned (via @bhall). He didn't know John was such a postgres whiz, and is happy he has the answer. But consider the secondary benefits.
- Anyone else who follows the #postgres tag will see these messages.
- Anyone who follows #CompanyX will also see this message (Think someone in Support on a ticket while Implementation is onsite)
- Anyone who searches postgres later will see this information
- Anyone who, later on, is having problems with the postgres installation at CompanyX could easily find this information
Email aliases go poof
With StatusNet, we wouldn't need to create a new alias for every project and group that is created. A group could be made in StatusNet. How is that better than aliases, you might be pondering?
- Groups are in one place, you can search them
- Anyone can see a list of a groups members
- Members of a group can post a notice to that group. All other members of that group will see that notice in their timeline
- Anyone can send a message to a group, even if they aren't a member via the bang. '!' (ex. 'Hey !IT the internal blog seems to be down')
Feeds for everything
StatusNet generates RSS feeds for every hashtag, user, and group. You don't need to even necessarily keep StatusNet open, you can be pulling in a feed for those hashtags you want to follow, into the tools you already use. Integrate a hashtag you use into Insight.
Notifications
By default a user is notified via email when someone mentions or sends a message to that user. The user can also decide to configure their account so they receive notifications on their cell phone.
3rd Party Apps
There's an app for that, seriously. PCs, (Windows, Mac, Linux), iPhone, Android, and the list goes on. If we allow external access to our StatusNet, a user can easily connect and update from anywhere, if they choose to.
Extras
Besides the functionality mentioned, there are other features we can activate. Be able to attach a file to your notice, post a bookmark, make a poll, etc.
Summary
I hope this encourages the reader to check out StatusNet if they haven't already. The things it can do for a companies internal communication are amazing.