HN user

b14ck

1,217 karma
Posts28
Comments48
View on HN
www.rdegges.com 13y ago

It's All Perspective

b14ck
6pts0
rdegges.com 13y ago

Ambitions

b14ck
2pts0
www.mahdiyusuf.com 14y ago

4 Weeks with DuckDuckGo

b14ck
91pts121
www.leancrew.com 14y ago

The Python Standard Library - Where Modules Go To Die

b14ck
122pts72
postgresguide.com 14y ago

A Curated Guide to PostgreSQL

b14ck
83pts13
rdegges.com 14y ago

Never Stop Hacking

b14ck
119pts12
rdegges.com 14y ago

Successful GitHub Development

b14ck
63pts9
rdegges.com 14y ago

Why I'm Learning Node

b14ck
79pts60
rdegges.com 14y ago

How I Learned to Program

b14ck
171pts73
rdegges.com 14y ago

The World Would Be a Better Place if Everyone Was a Hacker

b14ck
39pts21
rdegges.com 14y ago

Tools I Use - tmux

b14ck
140pts58
rdegges.com 14y ago

Deploying Django

b14ck
7pts0
rdegges.com 14y ago

My Use (and Abuse) of Caffine

b14ck
3pts1
rdegges.com 14y ago

On Business Guys

b14ck
14pts4
rdegges.com 14y ago

Live Simply

b14ck
2pts0
news.ycombinator.com 14y ago

Ask HN: Would you pay for a hosted puppet service?

b14ck
1pts0
rdegges.com 15y ago

Absolute Victory

b14ck
1pts0
rdegges.com 15y ago

On Programming Deadlines

b14ck
4pts0
rdegges.com 15y ago

Enjoying the Grind

b14ck
1pts0
projectb14ck.org 15y ago

The Time I Accidentally Destroyed a Production Server

b14ck
19pts8
projectb14ck.org 15y ago

The Perfect Django Settings File

b14ck
10pts0
projectb14ck.org 15y ago

What Programmers Can Learn From Bodybuilders

b14ck
3pts0
projectb14ck.org 15y ago

Programming Innocence

b14ck
81pts24
www.malevole.com 15y ago

Famous Programmer, or Serial Killer?

b14ck
3pts0
projectb14ck.org 15y ago

Being Myself

b14ck
1pts0
projectb14ck.org 15y ago

Non-Profit Idea: Neverending Charity

b14ck
2pts0
projectb14ck.org 15y ago

How to Reset Your Sleep Schedule, Seriously

b14ck
96pts55
news.ycombinator.com 16y ago

Should I Get the New Kindle?

b14ck
13pts21

To me, wikis just seem 'lazy'. Projects that use wikis as a primary form of documentation make users feel like the project is un-cared for, and not worth documenting.

I have absolutely no stats to back this up--but having officially written documentation gives projects a really good 'feel', and makes it a lot simpler for users to get started (IMO).

Hey premchai21, thanks for the feedback! You're completely right. I'll be making some adjustments to the way this operates over the coming days to make things much simpler.

Thanks for taking the time to check us out!

Hey mike, thanks for the feedback. I'll be working on this tomorrow to get a fix out.

After all the feedback here, I realize how crazy it is to be returning a 404.

Thanks for checking us out, and thanks for the feedback!

Hey krrose27, we basically pull the information from a variety of sources, all publicly available. If we can get the caller ID name information, then it means any call made from those numbers to a caller ID capable phone (with caller ID service) will be able to see it also.

Hey ars, thanks for the feedback! After reading the comments here on HN (which are incredibly valuable), I'll be making those changes ASAP.

Sorry for the confusion, but thanks again for the feedback. I greatly appreciate it.

Hey samirahmed, thanks for the comment! I'll definitely be updating my blog post and improving the documentation on the website.

Appreciate the feedback.

Hi there. So, I'm the author of this article. Anyhow, for our free-tier users we don't provide realtime lookups.

Basically, we'll only return a result if we have a caller ID in our cache. So, if you get a 404 (no output), then try again a few seconds later after we've had time to do the lookup via our backend.

Sorry about that! Realtime lookups are currently restricted to API key users only.

Hey again-- I've actually made a response on the related reddit posting to a similar question. I typed out a fairly in-depth response, so I'm going to paste it below.

I hope this clears things up.

-----

Basically--we partner with telephone companies who colocate our equipment (servers, etc.) which we use to run our software. We purchase phone lines from these telcos (to support incoming calls), and then provide free services for public consumption to make money off the termination cost.

Imagine that you have a T-Mobile cell phone, and your friend has a Verizon cell phone. When your friend calls you, Verizon pays T-Mobile a small amount of money for every minute that your call lasts (this fee is to pay for the physical infrastructure that T-Mobile invests in--telephone polls, switches, service monitoring, etc.). That's why cell phone plans cost money and aren't free.

We operate the same way, except we partner with telephone companies (like T-Mobile in my example above), and split the termination fees with them.

So the more people use our services, the more we can profit from it.

Hopefully this clears it up. There's been a lot of discussion in the internet recently about traffic pumping and companies attempting to get fraudulent traffic to make money. We are by no means doing anything illegal or illegitimate here.

-----

Also: our motivation for building confnow is to basically to make conference calling as simple as humanly possible. I've personally used the other sites out there (namely: freeconferencecall.com), and nothing is more frustrating to me (as a user) to want to make a quick call and have to go through hoops (setting up accounts, waiting for verification, listening to ads, etc.) when you just want to get into a room as quick as possible and move on with your life.

Google voice blocks our exchange numbers in Pennsylvania for some reason :( We're currently expanding into multiple datacenters--so we'll have new exchange numbers shortly. But it seems that our 610-XXX numbers are all blocked by Google.

Yo! Thanks for giving it a test.

If you add a security pin, then after you enter your conference room number, it'll prompt you for the pin you entered (think of it like a conference room password).

Also: we're in the process of getting more numbers. :)

How I Program Stuff 15 years ago

I enjoy working with other people, however, I do best when working with them through IRC, software, etc.

For instance, in both my professional and personal life, the most successful projects I've worked on with others have been those in which communication was primarily done through pull requests on Github, or IRC conversations late at night.

Maybe it is antisocial, but I just can't seem to function as well working in person with other people as I do on my own.

What sort of stuff do you do better around others? I'm genuinely interested.

Tools I Use - tmux 15 years ago

I use vim splits as well. I find my typical workflow is something like this:

1) Open a tmux split (vertical). 2) In the left tmux pane, open vim (and split horizontally). 3) On the right side, have my tests open and running via a watch command, eg: watch -n 10 "nosetests", or something similar.

Oh. Yes, they are identical to paid dynos. Essentially, Heroku just deducts 750 paid hours from your bill each month (which is just enough to run one web dyno 24x7).

What do you mean by loaded on demand? You can instantly scale up and down the amount of workers you have, if that's what you mean.

I've been scaling mine around, and it's never taken more than a second or two. Although, maybe that would change if you are scaling up to hundreds of workers or something like that.

To elaborate on this: that's enough to run an entire website for free (excluding celery).

If you want to run a celery worker (including beat), you're looking at a total cost of 30$ per month. That's enough for most moderate traffic websites. :)

Not disagreeing with you here at all--however, Heroku also has a generous free tier for their core services (and most addons).

In the next part of the series I'm going to elaborate on their pricing in comparison to Rackspace for my work project. Heroku is actually significantly cheaper for us, considering we don't have to spin up additional instances for backups, load balancing, etc.

I recently purchased my first ubuntu-linux laptop from system76 (http://www.system76.com/) --theyre a hardware company that ships exclusively ubuntu-linux laptops.

I've been meaning to try them for a while now, but just had the chance to purchase one a few weeks ago. So far, I'm loving it.

Among other things, here's what I enjoy presently:

* They sell large screen models (17.3", here). * The hardware is completely linux-compatible. I installed ubuntu fresh (just to check hardware compatibility out of the box), and had 0 issues getting __all__ hardware components working (primary SSD drive, wifi, nVidia card, webcam, mic, etc.) * Their laptop has a really sturdy feel to it and looks very 'clean'. They use beautiful metalic casing which makes it look really high-quality. * They have one of those really sturdy 'programmer' type keyboards that I love to type on. Big win. * Their hardware upgrade option are, in my opinion, excellent. I purchased a 120G SSD primary drive, and 8G of RAM, and this thing is insanely fast. I'm talking 2 second boot time, insta-opening of even large applications (K3B, I'm looking at you), and quiet operation.

Furthermore, their screens are absolutely beautiful. I'm not sure what distinguishes it from the $1,000 laptops you see around most stores, but the screen itself is top-notch.

As a side note, I use a laptop as my primary computing device--programming / movies / etc., and only run linux. I enjoy high-resolution laptops (like the one I purchased from system76), as I can have more vim-splits open :)

NOTE: I'm actually in the process of writing a full review on my blog about this laptop at some point in the near future.

Hey,

I'm in a similar situation as you--my company does millions of calls per month (we're in the telecom industry in the US), and we use Django / python / Asterisk as our primary tools, along with OpenSIPs for routing SIP traffic.

I've been working extensively with this stuff for the past 3 years--I'd be happy to give you some help, or talk you through some design decisions.

If you want to get in touch, feel free to email me (or get me on gtalk): rdegges@gmail.com

Would be nice to talk to some other people in a similar industry, not too many telecom / web dudes around, afaik.

I can't give you a definitive answer, but I'll explain why my company chose to use python.

NOTE: We're a technical startup in the telecommunications industry. We build web-based telephony applications in addition to traditional phone-based applications.

1. python's syntax is extremely clear and easy to read / maintain. I can open any python project, and immediately find my way around with no prior knowledge. This makes working in teams especially easy, when you have numerous developers committing various bits of code to various parts of the product throughout the day.

2. In the past two years, the python community has put a great amount of emphasis on documentation for open source projects (using Sphinx), and as a result of this, many open source python packages now have excellent documentation that makes it really easy to start using third party libraries and feel secure in your choices. Just check out http://rtfd.org/ for examples (ReadTheDocs is a hosted open source documentation site, focusing on python).

3. Django is an excellent web framework, and has tons of reusable open source applications that you can use, which makes rapidly developing web applications easy. The Django app ecosystem has been growing at an insane rate over the past few years, and there are more than enough applications to solve most common patterns.

4. Tools like tox, nose, coverage.py, and others make testing in python simple. It also helps that Django encourages testing in a large way (providing a default tests.py module for each application, with example tests). Having such a large emphasis on testing, with such great tools, makes it easy to "Do The Right Thing" and build tests into your software.

5. There are excellent tools in python for performing complex tasks, like celery / redis for building distributed queue processing workers.

6. PyPY (an alternative python interpreter) has been showing immense promise with python speed improvements. PyPY can be used as a drop-in python replacement on any linux system, and yields immense performance improvements to even the simplest code.

7. The python community in general tends to be very friendly, supportive, and encouraging. There are a lot of popular figures in the python community, and the overall personality traits of leading python community figures tends to be humble, helpful, and encouraging. This has fostered a really excellent community focused around accomplishing things, and helping people out, which I think gives the language a good overall feel.

Just my two cents.

On Business Guys 15 years ago

There are definitely lots of difficult things other than technical challenges that come up in business. Like you said: making sales, deciding which features to build, etc. I'm not saying that they are "easy", however they pale in comparison to spending years building technical skillskets that allow you to build solutions to problems.

The main point I'm trying to make in the article is that "business guys", particularly the sort looking for technical co-founders, really need to teach themselves technical skills. In early stage companies (I probably should have made this more clean in my article), the business guys just aren't necessary. Any engineer can talk with his potential customers and get feedback. Any decent engineer can run A/B tests and improve their conversion rate. Any good engineer can make smart decisions based on their customer data and feedback, and become successful.

If you're a "business guy" and teach yourself technical skills, you're immediately more valuable. You can prototype basic features and get feedback. You have the technical understanding of your product to make informed customer decisions. You'll have the ability to spot problems early on, and make adjustments as needed to your product. Even if you're not necessarily a "good" programmer, you can still have much more of an impact with technical skills.

I'm a fan of Django, so my ideal stack looks something like this:

  * puppet - managing server packages / infrastructure
  * monit - monitoring server processes / fixing things
  * django - primary web framework and ORM
  * amazon mysql - it's hosted, and works via plug-ins with Django
  * amazon s3 - storing static assets (images, css, javascript, etc.)
  * amazon elastic load balancer - for scaling incoming HTTP requests across multiple web app servers
  * amazon autoscale - for spinning up new web app servers to handle spikes in traffic
  * rabbitmq - message queueing
  * celery - processing async tasks in a robust fashion. must have
  * memcahed - no explanation necessary
  * git
  * fabric for deploying software
  * jenkins for testing / building software
  * nginx for buffering elastic load balancing requests to web app servers