Kickstarted funded and then some. Here’s hoping this comes to fruition. It’s got an API to make apps, I’d love to make a sleep monitor with this
Kickstarted funded and then some. Here’s hoping this comes to fruition. It’s got an API to make apps, I’d love to make a sleep monitor with this
Clean, simple design, virtually logo-less. I’ll have to get my hands on one to see if it’s rugged enough to replace my old standby, the Timbuk2 Classic Messenger.
Opensource eclectic animation by Bleeple.
Download the Cinema 4d Files here: http://beeple-crap.com/resources.php
After hours of frustration after a failed upgrade attempt, try restoring without the power plug. The usb alone should be enough to power your AppleTV 2, and for some odd reason, causes the restore to actually work.
“Men wanted for hazardous journey. Small wages. Bitter Cold. Long months of complete darkness. Constant danger. Safe return doubtful. Honour and recognition in case of success.”
This is the perhaps most accurate description of a job at an actual startup. If this sounds like something you’d be interested in, read on.
Remember, Most startups fail. Failing, however, is a crucial step towards not failing.
General advice: read as many of Paul Graham‘s essays as you possibly can. from the top down. Paul Graham has literally helped several hundred startups get off the ground. Some essays will not really be useful right now, but the ideas in there are generally very very good. Check out news.ycombinator.com on a fairly regular basis. Read the comments, lookup every word and acronym you don’t know. Watch these videos
Try to answer these questions as quickly and cheaply as possible:
How are you going to fail as fast as possible? Remove as many people, steps, and processes as possible from getting your idea in front of someone who doesn’t care about you. (Your family and friends are useless in this regard, insofar as they will not tell you that your idea is a stinker)
Crucially, if your idea happens to be related to computer and software in any way shape or form, learn how to program your computer. There are a ton of awesome resources out there to learn how to write software and for starting a business, but it can be daunting to try to separate the wheat from the chaff.
The two best languages at the moment are, in my humble opinion: ruby and javascript. Ruby because it is easy and understandable, yet also powerful, javascript because it is ubiquitous, interesting, and easy to play with: if you’ve got a browser, you can mess around with javascript. I’d look through each one below and see what seems like it’s your thing. Also, remember: it’s not that hard and more importantly there is no speed limit.
Free ruby stuff:
Free javascript
At this point, you should be ready to start failing. Go forth, claim your destiny.
Stay tuned for the next installment of this multi-part series.
Graylog2 rocks, however, the install instructions leave much to be desired, simply because they don’t mention any of the other required services and how those services should be setup.
I’m here to help.
This writeup is going to written for Ubuntu 10.04, however, if you’re installing graylog, I assume you know how to install packages on your linux distribution of choice.
First, we’re going to need all the prerequisite libraries and servers: mongo, elasticsearch, and the java jdk.
Here are some links that helped me:
mongodb ppa instructions for Ubuntu
Mongo user creation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | wget https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6.tar.gz wget https://github.com/downloads/Graylog2/graylog2-web-interface/graylog2-web-interface-0.9.6.tar.gz tar -xzf graylog2-server-0.9.6.tar.gz tar -xzf graylog2-web-interface-0.9.6.tar.gz cd graylog2-server-0.9.6 cp graylog2.conf.example /etc/graylog2.conf cd .. mv graylog2-server-0.9.6 /opt/graylog2-server/ tar -xzf graylog2-web-interface-0.9.6.tar.gz mv graylog2-web-interface-0.9.6 /opt/graylog2-web-interface # needed to compile ruby apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion libcurl4-openssl-dev # getting ruby for the web interface. bash -s stable < http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages # the default ubuntu mongodb is horribly broken apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" >> /etc/apt/sources.list apt-get update && apt-get install mongodb-10gen -y # bind only on the localhost echo "bind_ip = 127.0.0.1" >> /etc/mongodb.conf /etc/init.d/mongodb restart # elasticsearch wget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.19.0.deb dpkg -i ./elasticsearch-0.19.0.deb # only bind to localhost echo "network.bind_host: 127.0.0.1" >> /etc/elasticsearch/elasticsearch.yml #possibly necessay, if you start to get the "out of file descriptors" error in # /var/log/elasticsearch/elasticsearch.log echo "fs.file-max = 100000" >> /etc/sysctl.conf; sysctl -p |
Elastic search should be reasonably configured from the start for our purposes.
Setting up the mongodb user and database ( yes, I know, 123, but it’s the default, and mongodb should only be listening to loclahost.)
1 2 3 4 5 6 | $ ./mongo use admin db.addUser("theadmin", "anadminpassword") db.auth("theadmin","anadminpassword") use graylog2 db.addUser("grayloguser","123") |
you’ll also want to specify these values explicitly in the mongoid configuration file in the webserver. In /opt/graylog2-web-interface/config/mongoid.yml add these values, and delete the other production values.
1 2 3 4 5 6 7 | # or specify values manually production: host: localhost port: 27017 username: grayloguser password: 123 database: graylog2 |
the nginx upstart script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # nginx description "nginx http daemon" start on (filesystem and net-device-up IFACE=lo) stop on runlevel [!2345] env DAEMON=/opt/nginx/sbin/nginx env PID=/opt/nginx/logs/nginx.pid expect fork respawn pre-start script $DAEMON -t if [ $? -ne 0 ] then exit $? fi end script post-stop script start-stop-daemon --stop --pidfile $PID --name nginx --exec $DAEMON --signal TERM end script |
and this is what your /opt/nginx/conf/nginx.conf should look like:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
passenger_root /opt/graylog2-web-interface/vendor/ruby/1.9.1/gems/passenger-3.0.10;
passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p290/ruby;
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name graylog2.headliner.fm;
root /opt/graylog2-web-interface/public; # |
I used this upstart scripts for the graylog2-server. if you copy and paste it into your /etc/init files (it’s late, if you need the exact commands, write a comment…)
now, for the magic:
1 2 3 4 | /etc/init.d/mongodb start /etc/init.d/elasticsearch start service graylog2-server start service nginx start |
and you’re off.
You develop an instant global consciousness, a people orientation, an intense dissatisfaction with the state of the world, and a compulsion to do something about it. From out there on the moon, international politics look so petty. You want to grab a politician by the scruff of the neck and drag him a quarter of a million miles out and say, “Look at that, you son of a bitch.
— Edgar Mitchell, Apollo 14 astronaut, People magazine, 8 April 1974.