HN user

Teef

11 karma
Posts0
Comments15
View on HN
No posts found.

Recommendation is to validate "best practice" claims. Doesn't matter what hosting solution used. Measure, measure, measure to make sure not only are you getting said claim but also that the end result meets your expectations. An example is in the past I had 7 "instances" (as shykes points out make sure they are hosted on separate nodes!) 4 of which where load balances Python web app. One of the nodes was overloaded so 1 out of 4 requests was very slow (5-10x). This was a big ajax app so initial page load would hang on the request(s) to that one instance. My point was since I had measured I could see that the node was the problem and now that I am on dedicated EC2 each node is consistant. Good luck.

There are 3 reasons I have gone running and screaming from and RDBMS. 1. Software gets large / complex to get meaning full work done. I am all about data consistency but at some point it is time to break things up into services and not have a single database. 2. If the software is popular enough everyone is running to use NoSQL (cache is NoSQL). 3. Clearly it is not a good storage solution either because for example in an address book nested list greatly simplifies everything. (right tool for the job)

I spent many years hammering away with RDBMS and by and large it was great until it wasn't. I try to look at data storage more holistically now based on best guess of the problem. I have tried to convert an application from Postgresql to MongoDB and it failed but that wasn't MongoDB's falt it was because I didn't change the data model to fit a document storage system. I have also tried to use PostgreSQL for a realtime reporting system and failed horrifically and that was not Postgesql fault it was mine. Amazing what happens when you stop pushing a chain and start pull it!

This was my bad I have updated the post. I should have been marsheling to a more comparable datatype (map[string]interface{}{}) and now the performance is more in line with what I would expect. I need to look into the Unmarshal code to see why this is so slow.

I wrote the article because I write a lot of web applications which a vast majority of the request are JSON. I am about to do a lot of post analysis on JSON sent from the web browser so it is valuable for me to know how fast a language (library) JSON parser is. For highly concurrent webserver it is good to know how fast and efficient the JSON parser is since it will be doing a lot of concurrent parsing of JSON.

It looks more like it was lottery than anything else. If you clicked on it at the right time and got lucky in a 30 minute window. I have been to a number of them since I went to the first one (part of the android challenge before there was an android phone) I have really enjoy the conference every time I have gone. This year I mainly wanted to get some time in with the Go group and reconnecting with friends I have made over the years. Look like time to start looking for another conference with lots of web startup. Anything going on in the UK?

I suppose we all knew this day would come from Yahoo. The start of where lawyers take over the company and product make a steady march to complete crap. Pretty common pattern for companies that can no longer compete (SCO anyone). It is sad Yahoo still have a great brand and could reinvent itself. This entire thing is nonsense but I guess to try and squeeze some more revenue for the share holders is what they are obligated to do. I miss the old Yahoo.

SEEKING WORK - Remote, US, EU: Python, Golang, Flask, Mongodb, PostgreSQL, Android, jQuery, Google Web Toolkit, AppEngine (python, go)

Love building software! Specifically love working in exciting environments. Would love to work on some interesting projects my email is in the profile.

Linkedin: http://www.linkedin.com/in/lateefjackson

Blog: http://blog.hackingthought.com/

Resume: http://hackingthought.com/releases/Lateef_Jackson_2010.pdf

Java is entrenched for the same reason the Cobal on mainframes it won the enterprise mindshare battle. By in large this has more to do with how these types of business function than anything else. Business work best if they have predictable cost based on revenue. So for custom software they need X amount of work then the business can hire Y developers. If a factory needs to make X more widgets it can hire Y more factory workers. There is a lot of evidence to point that software does not fit this pattern however this gets withing a few managers up the chain. Startups and valley companies handle this better because they focus on this at the core. I will make some points about the Java / JVM that I have found working with it for the last 14 years:

* The JVM is fast compared to VBScript type languages and slow compared to language that use C libraries (Python). There are benchmarks about how JVM is very fast at crunching numbers however in practice I have written very little code that is math I tend to use a library (math libraries written in C/Fortran). Most applications are moving bits around and are thus IO bound and so languages that can quickly be modified to use better caching or more complex data access algorithms will perform better. Enterprise web apps that use Java and are fast are the exception not the rule.

* JVM is a memory hog. Now this could be blamed on all the dependencies but even writing a very simple JSON web service is going to cost you a lot of memory. This makes compilation slow and development slow.

* Dependency management is a mess. Maven is helpful but is exceptionally slow with just a few dependencies.

* Multithreaded Java has never been as robust or fast as multiprocess applications I have see run in other languages. I have seen robust multiprocess Java applications but they tended to run per node because of memory usage and performance. I would say I am above average developer and have written and rewritten a good amount of thread code and the more I do the more I am convinced it is a horrible concurrency model for non super human developers.

PHP may make some inroads over time since it has a good base of people that can be hired. However I see it mostly to be used as an outsourcing tool when a project need to get done quickly. This is just my experience over the last 14 years so YMMV.

As the content on these networks goes to crap and there inability to provide/partner or work with any of the new platforms that put the consumer in the driving seat is just going to expedite their demise. The loud SUCKING sound are consumer running to a free(er) platform with better content.

Things I am doing to recover from a failed startup I was working on.

1. Do something impossible! I rode my bike to work 25 miles in the morning and 25 miles at night. This was something I thought was impossible, and I only got to do it a couple times a week but it gave me lots of time to think and work though my issues. Find your impossible task and do it.

2. Learn something new. When I teach myself something new it is a very euphoric experience and after I then want to do something with that new knowledge.

3. Lots have been said about gardening and yep it is all true do it now!

4. Exercise for 30 minutes first thing and your day will start out much better.

5. Eat local/healthy food. Good food makes you feel better.