HNHacker News
TopNewBestAskShowJobs

renownedmedia

1,014 karma · joined April 14, 2011

https://thomashunter.name @tlhunter

[ my public key: https://keybase.io/tlhunter; my proof: https://keybase.io/tlhunter/sigs/Np2LxdEW781TwDpzkb7Skpx0oKzur6it_9d9v2srQEQ ]

submissionscomments
renownedmedia··on 42Floors (YC W12) Announces $5 Million Series A… Sorta
There's no such thing as bad publicity!
renownedmedia··on The Future of Augmented Reality
The article is pretty much a few pages agreeing with your first paragraph, that AR phone apps aren't useful, but one day AR will be much cooler.
renownedmedia··on A Primer on Web Caching
memcached is not persistent, redis is, therefore, redis is more persistent than memcached.

The framework the example app is built in provides a (poor) database library, and that is the method for building SQL queries (I've since moved on to PDO's parameterized queries).

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
All projects which have been just open sourced are going to contain bugs. That is, until people like you find them and fix them and submit pull requests ;).

CI strips out all funky characters, so while it is possible to cause an erroneous query, I'm not seeing a security issue here.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
This is indeed a bug:

http://neoinvoice.local/invoice/list_items/1/asdf

Does cause an erroneous query. It should use a case statement to check against column names. CI will strip out any special characters though.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
Long story short, not a single bid. A lot of people would ask some questions, but would seem to ignore the info on the page. I didn't bother paying extra to have them tweet the site on their twitter, since they tweet seemingly hundreds of times a day and nobody seems to listen.

I'm used to selling items on the Envato marketplace, which provides all of the 'advertising' for me. But it seems that with Flippa, there is so much noise and one has to do their own finding of buyers.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
With this project in particular, each time someone hits the main page there are 6 php scripts executed in parallel. I was hitting some limits with my VPS during those spikes.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
It was the first metric that came to mind, it was hard to describe in time since development was on and off for a while. I just wanted people to know it wasn't a small project.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
Heh, I'm not well versed in C, but it sounds scary.

You can also throw comments in the code where the bad stuff is so that it has more visibility, as well as suggestions for how to better solve the problem. Sometimes people learn best from bad code!

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
I spent all of my spare time for a solid nine months on this project, and you are right; I was passionate, but more about the project itself than the industry.

There was also a fear of letting this be my full time gig and not having a steady paycheck. My brick and mortar business had just closed its doors as my biggest client stopped paying people (he literally disappeared into the woods and had a class action lawsuit from many people he owed money).

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
I have the exact same sentiment; I pretty much open source all of my old projects for people to learn from (I taught a small meetup for a while, it was useful to explain both the good and the bad). I add DEFUNCT to the description if they are really old or have a lot of bad practices. Here's the rest: https://github.com/tlhunter
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
Symfony is nice, Zend 2 is going to fix everything from ZF1 and is worth keeping an eye on as well.

I've dabbled in Doctrine before, but the memory usage looked a little too high for the convenience it offered.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
I answered his questions directly; I'm not doing too much PHP development these days, it is mostly Node stuff.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
This is the escaping mechanism I was using.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
I started using Kohana after moving on from CI, but these days, I don't do as much PHP development. It's mostly Node.js development now.

I did start rebuilding this in Kohana a few months ago with the intention of rebuilding it as a less panel-y looking interface, but ended up scrapping the project.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
Thanks! The public facing layout went through three major revisions and the final one is based on 960.gs. The layout of the app is governed by MochaUI, but it is a custom theme.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
I would be excited to see an example exploit executed against the app, I've tried plenty of times without success.

Any pull request to fix a vulnerability will be happily accepted!

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
Thanks for the encouragement! I get flack from everything I open, must be a sign.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
PHP has the ability to run a function when attempting to load a class which doesn't yet exist, which can load a file from the filesystem and get the class into memory. The CI version of autoloading is a manually entered list of classes to be loaded (a little ironic actually :p).
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
You hit the nail on the head. I never knew I would open source this, I didn't even plan on it getting as feature-rich as it had become.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
The arguments to controller methods (in CI) are passed through some regular expressions. CI goes as far as to destroy all GET variables (which I highly disagree with).
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
Yeah, there is a ton of competition. I started building this without having done proper research.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
The routing script should be taking care of that stuff with regular expressions.

If I'm wrong, please do let me know!

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
CI was built in the PHP4 days, and for that reason it has a lot of cruft left over. For example, there is no autoloader. Also, classes are loaded as singletons, and are assigned to properties of the controller, which I put into the 'magic' category, and isn't compatible with IDE autocomplete features (I'm a VIM user, but it makes things easier for a lot of developers).

//CI Class Load Example:

$this->load->library('example'); $this->example->something();

//Raw PHP Class Load Example:

$this->example = new Example(); $this->example->something();

As you can see, the latter is a little more obvious about what is going on.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
While I was at a startup recently, I did all of my frontend development in Backbone.js, this app would do a lot better in that framework.

Also, the CI framework isn't all that great, I would have certainly used a different framework. Perhaps even Node.js (which is what I'm doing a lot of my development in nowadays).

I also would have looked for a marketer and devoted more time to the project. The market for this kind of product is very crowded, but there is a lot of room for innovation.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
It wasn't me who downvoted you, I promise! I love PDO; please read my other comment.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
I built it using CodeIgniter, and wasn't as proficient in PHP as I am now. CI is a beginner framework and doesn't teach a lot of good practices (e.g. it loads external classes as singletons and uses a class loading script developed during the PHP4 days).

Here is the suggested CI method for executing database queries: http://codeigniter.com/user_guide/database/examples.html

Nowadays, I prefer (PHP) frameworks with real autoloaders and better OOP usage (like Zend or Kohana).

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
For a few months I had the ability for users to sign up for a paid account, but I never pushed it. After that, I just disabled the feature altogether.

The most advertising I did do was a 125x125 ad on a website used by web developers (DavidWalsh.name) for one month. I didn't get a single user through that ad though.

The biggest lesson learned is that an app like this really needs someone who is good at marketing. I'm just a programmer, but if I had found a marketer and pursued the development of the app, I'm pretty sure it could have been successful.

Another take away is to research competitors. I never looked them up since I actually built this mostly for myself at first, and just kept adding new features as it got bigger. It turned out the market was very crowded (This page has a list of 17 competitors: http://thomashunter.name/blog/shutting-down-and-open-sourcin...).

Also, "piss or get off the pot". I spent a lot of time developing this but I didn't devote enough of my time to it for it to be successful.

renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
Yeah, it's MochaUI. About two years ago, the project was mostly un-maintained, I haven't looked at it recently though.
renownedmedia··on Just open sourced my 10k LOC PHP & MySQL invoicing app
There was only about 120 users at its peak. I hesitated, was never ready to make it a real money-making business, and therefor didn't really advertise it.
← PreviousPage 4 of 6Next →