HNHacker News
TopNewBestAskShowJobs

brickcap

227 karma · joined April 28, 2013

Yes sir, yes sir, three bags full
submissionscomments
brickcap··on Ask HN: Which Linux distribution you are currently using?
I am using xubuntu(14.10). I like it because it is small,fast and supports ubuntu packages.
brickcap··on Ask HN: Freelancer? Seeking freelancer? (February 2015)
SEEKING WORK- Remote/On site

I am good with lua (openresty),nodejs,couchdb and elastic search.

careers profile: http://careers.stackoverflow.com/akshatjiwan

email: akshatjiwan@gmail.com

website: http://www.staticshin.com/freelance-programmer/

brickcap··on Ask HN: How do you find freelance/contract gigs?
I agree with what you say and in the long run one should be looking to work directly for end user but a balance should be maintained b/w the two. It is easier to convince the software businesses of your usefulness while convincing the end user will take much more effort.

One other benifit of working for the end user is that in many cases you end up being paid for maintaining (for example being a server admin for a web app) the application you wrote for them. This can be a nice source of recurring income.

brickcap··on MongoDB Is Raising Another $100M
Glad you liked it :)
brickcap··on MongoDB Is Raising Another $100M
Agreed about ad-hoc queries. It would have been nice to have them but couchdb-lucene[1] or even an integration with elasticsearch helps a lot if you need them.

https://github.com/rnewson/couchdb-lucene

brickcap··on MongoDB Is Raising Another $100M
@vvoyer already mentioned replication. But there is another thing that couchdb is good at but most people don't use it/ know about it. It can interpret arbitrary erlang code.

Which means that you can write an erlang module and call it with couchdb show functions and have the benefit of a ready made http api for you.

A practical use of this would be to use mnesia as an in memory key-value store(for similar things that you would use redis for) and then call the functions in the module from a show function. All the benefits that you get with erlang you get with couchdb.

One of the killer features (for me at least) is user accounts management. In 3 http calls I have login-logout facility in my app ready. I can't tell you how impressed some of my clients are when I show them a V1 of their product in a couple of days.

brickcap··on MongoDB Is Raising Another $100M
Yeah it was a bit confusing for me too initially but if anyone else still does not know the answer to this it is:-

1. Indexes are built and appended to at read time.

2. If you change the view code an index rebuilding will occur. (A hash of all the views in the design document is taken and compared with the previous hash. So even a small thing such as adding a space will in effect change the view code and trigger rebuilding of views.)

3. No change to any other part of design document will have any effect on views.

I wrote in detail about it here (http://staticshin.com/programming/does-updating-a-design-doc...)

brickcap··on What most young programmers need to learn
I have committed all of these mistakes at one time or the other and I am quite sure that I slip from time to time esp with regards to #1. But one thing that I frequently do is read my own code after writing a certain amount. It may be after writing a module or after re factoring it or when I don't feel like writing any more. And reading my own code helps me uncover a lot of inconsistencies in it.

I think I started reading after @edw519 said something like he reads his code everyday before going to sleep. While during writing my focus is on making the thing work when I am reading I am more critical of my code. Not as good as having a review but still helpful.

Also I think reading code of other programmers is a good exercise. Reading different styles of books is already recommended to writers and I think that programmers can extract same benefit by reading code of different programmers. If nothing else at least it will develop your debugging abilities.

brickcap··on Ask HN: What are the best developer conferences for 2015?
There is also couchdb day in February

http://day.couchdb.org/

brickcap··on Ask HN: What language will you learn in 2015?
In 2015 I would like to make something useful with what I've learnt so far. I also want to try my hands on scientific programming languages but I will have to find a mock scientific problem first :)
brickcap··on Ask HN: Freelancer? Seeking freelancer? (January 2015)
SEEKING WORK: Remote/Onsite

I am Akshat, a freelance programmer (http://www.staticshin.com/freelance-programmer)

Do you want someone to help you with your existing codebase, or write a new feature or code an entire application from scracth? Maybe I can help (http://www.staticshin.com/how-can-i-help-you)

contact: akshatjiwan@gmail.com

Edit: And a very happy 2015 to you :)

brickcap··on Help HN, lets make GitHub accessible again from India
This is a great initiative thanks. In the meantime would switching to google dns help?

Also here is the clickable

http://pmindia.gov.in/en/interact-with-honble-pm/

brickcap··on Ask HN: What was your biggest fuckup of 2014?
I quit odesk this year. For a significant part of the year I was out of work. In retrospect I could have made a smoother transition.

A couple of bad clients. Didn't listen to my gut feeling and worked with them. Sucked up months of my time first in working for them and then getting them to pay me. Lesson: upfront payment :) as a sign of good faith.

I think I did okay with friends and family which always a relief to know :)

brickcap··on Ask HN: It's Jan 1 and you're building a new Saas app: What framework do you pick?
I am working on a saas in my free time it was supposed to launch in 2014 but I guess it will take some more time. My application would allow tenants to pay their rent online. I am using openresty, couchdb, jquery and simple grid. Here are my reasons for choosing the stack that I did:-

1. couchdb: it was the obvious choice for me one because I know it well and second because it is document oriented. Most of my data is JSON representation of real world documents like the rent contract, the monthly bills dues etc. And lastly because I feel that couchdb is an excellent server side JavaScript environment. I am using it to render templates, validate data and even for user accounts management. Lots of easy wins for me there. Plus who knows I may decide to add an offline component to my app in the future :)

2. Openresty: I discovered openresty from a hacker news thread (thank you HN :-). I already used nginx but I was a bit frustrated with it when I could not do some slightly complex things. Couchdb has an http api and I just needed some tiny bit of scripting to make it suitable for my application. I think that openresty + couchcdb/elasticsearch/oritentdb/ any database with an http api is a great combo.

3. Jquery: old and faithful. I have worked with knockout in the past and while I really like it I feel much more productive with jquery.

4. simple grid: a very small css grid framework. If I need anything else I just extract it from twitter bootstrap. For example I extracted table styles from it when I couldn't get my tables to look as good. It works well for me.

brickcap··on Merry Christmas HN
Merry Christmas everyone :) Got lots of good advice from HN this year. Hope I can implement them in 2015.
brickcap··on Ask HN: Anyone here start a startup after failing to get a job? How is it?
A couple of years back I faced a similar situation. I was fresh out of college had no "experience" and apparently my college wasn't among the ones recruiters look out for. I tried to get my resume in through the door but rarely manged to succeed and when I did the offers were so bad that I thought it best to not take up the job.

To get by I started freelancing. Odesk is a pretty good place to work if you are starting out. The people there gladly trade inexperience for a tiny amount of salary(work!) and it can be a start. What I learnt though that it is more or less pointless to market yourself to the technology people (but if they do come to you on their own it is worth it to discuss the opportunity since you have a slightly upper hand in negotiations). Rather it is more profitable to market to people who use that technology.

So for instance suppose you work on your programming skills and learn how to build a CMS. This feat will be "meh" for technology people. They do this stuff day in and day out and see no value in it(maybe they will even criticize you for using jquery). But if you can learn to sell this CMS to say a local travelling agency who is still marketing their services through blogger, by showing them how much more they can accomplish if they used a better tool, then you are on to something. A single sale can transform into managing the server for them which can be quite a good source for recurring income.

Another thing that I learnt is that it is very valuable to have a domain expertise (besides programming). Taking the above example if you learn how the travelling agency conducts it's business you will no doubt find ways to generate income from this knowledge. Maybe you will design a CRM for a them or maybe you will create a tool that makes it easier for them to find new leads or send invoices or whatever.... you will learn to look out for things that can be done better with a program and that is where the real money is. That's what these companies do after all don't they?

Unless you have a debt, or a family to look out for, may be you are better off without a job (or maybe not). Regardless of this take time to learn how to market yourself and the stuff that you build. Oh and how to deal with negativity I don't know what will work for you but I pick up a PG Wodehouse book and laugh till my stomach hurts :)

brickcap··on Ask HN: Share your best coding Spotify playlists
I don't use spotify but if I feel like listening to music while programming it is almost always video game sound tracks. Among my favorites are:

Deus ex

System shock 2

Wipeout pulse

Final fantasy (sound tracks for all of them are great but my favorite is battle on the big bridge)

Monter hunter freedom 2 (The town theme)

As I am writing this I have Innocent sea (Sieken Densetsu) on repeat :) If you do listen to music while programming make sure that you don't leave the earphones plugged in for too long for me 30 minutes at a time works.

brickcap··on Email I received last night is one reason I no longer work on freelancer markets
I had pretty much the same experience that you did. Odesk can offer good amount of work for someone just starting (many clients are willing to take risks on people with no rating in exchange of less wages) but once you've established yourself it is time to move out. One of the best ways to do that is to start working with principals directly. You've already done a bunch of work for a bunch of people. You know what they do , you know who they serve. All you got to do know is market to those people directly.

It is not as difficult as you might think. Extract a bunch of choicest testimonials and put them on your website along with a description of what you do. While this won't get you new clients(at least until you start optimizing for keywords) it will definitely make you more appealing to those who you market to directly and when they do background checks on who you are and what you do before giving you work. Treat your website as your "reputation certificate" :) If you design it well you can leave a good impression on those who come visit.

The hard part is marketing. If you work for people in the technology you should have pretty good response by sending them emails directly and if you do it right you can set up an interview or two with them. If these interviews convert to actual paid work this will be much more profitable and long lasting than the contracts you took on odesk 'cause of two simple reasons:

1. In the "real" world people are much more open to form alliances for mutual benefit. On internet they can say to themselves "meh we will find another. More from where he came!"

2. Network effects are much much stronger. Or maybe I should say "convertible". I have had this hunch that once you start to work in the "real" world more people know what you do and you do get more offers just because you "did work for that guy maybe you can help us as well". Odesk and other sites are localized closed market places where they want to keep the talent for themselves and do nothing that may help you grow. Which makes sense because it adds to their appeal when they get to say "you find this freelancer exclusively on odesk". But for you this is not good at all.

The transition can be rough. Be a bit careful. I made the mistake of permanently deleting my odesk account 'cause it was the first google result on my name and clients would not accept anything I charged in excess of that amount (a vicious cycle since I charged little on odesk so I could get more work and now I couldn't do anything about it). That meant that my source of guaranteed work was lost and well... dry spells are not fun :) If you can try to make the transition slowly so it does not hurt your income.

brickcap··on Ask HN: Freelancer? Seeking freelancer? (December 2014)
SEEKING WORK: Remote/onsite

I mostly work with couchdb/couchdb-lucene,openresty and nodejs.

My stackoverflow profile is : http://stackoverflow.com/users/1263781/akshat-jiwan-sharma

you can reach me at akshatjiwan@gmail.com

brickcap··on Ask HN: What recent technologies have matured?
Openresty is underrated. I just don't understand why more people don't use it. It allows you to script nginx. How cool is that? Plus it comes with goodness of lua like the ability to return multiple values from a function which means that you can do something like

local res1,res2,res3 = ngx.location.capture_multi{ {"/api/1"},{"api/2"},{"ap1/3"} }

The above function runs in a non blocking synchronous manner. No http is involved it is all done internally and it's really fast. It can be very helpful if you are making multiple api calls from your code. I personally use it along with couchdb and I have never been happier writing code :)

There are already a lot of modules for openresty. Not as many as node js but plenty (and of a very high quality). It also has a framework built on top of it called lapis (http://leafo.net/lapis/) so if you are used to mvc type of frameworks in other languages you should feel right at home with it.

brickcap··on Ask HN: How would an open-source Salesforce clone work?
I have not developed with salesforce and this is the first time that I am reading about their database. But it looks to me that you can implement what they are doing with orient db. It has fluid schema, "objects" and an sql like query syntax.

https://github.com/orientechnologies/orientdb

All of the good stuff is in the wiki :)

brickcap··on Poll: What's Your Favorite IDE for JavaScript?
For web development I absolutely love emmet mode. Some times web mode can come in handy (for templates like mustache etc). Also emacs has lots of functions to jump around tags. So if you can,loot into them ( Disclaimer: I have been neglecting this for far too long!) And finally if you use firefox then it's all text plugin can be a life saver. It allows you to type comments from your favourite editor.

What about you? What plugins do you use?

brickcap··on Poll: What's Your Favorite IDE for JavaScript?
After going through what seems like every editor ever made i have finally settled on Emacs. For javascript I sometimes use js2 mode.
brickcap··on Half a decade with Go
Also don't ets tables do that, #3 I mean? Where different processes can access the same data structure? You can even control what process read or write to it. It is pretty neat.
brickcap··on Ask HN: What are you working on right now and why is it cool?
Thank you :)
brickcap··on What can I only do in Erlang?
>I spent 2 months disassembling CouchDB to see if we could maintain it

I would love to know your thoughts on this.

brickcap··on Ask HN: What are you working on right now and why is it cool?
Good questions. Before I started building wrinq I surveyed landlords and tenants:-

1. Some of them flat out refused to use such a service. As you say the increase in costs was a detriment to them.

2. Some tenants said that it would be a very good idea and they would not mind paying higher rent if it meant that it was more convenient for them to pay.

Group #1 were people who had a family to support and increase in cost was significant. Group #2 were single persons with high salaries and 30-100 additional monthly cost meant nothing to them (this includes the fees of wrinq as well).

I also discovered a third group of people. Landlords who were willing to take in less rent if it meant that their tenants were happier. These people did not keep tenants for profit but for company and maintenance of their properties ("better than it being empty and gathering dust") so I will be targeting groups #2 and #3.

Also I think you can have a tremendous advantage if you look for landlords locally and offer them additional services. Like I have tied up with a few agents in my locality so when the existing tenants leave I am going to make sure that the landlords find new ones quickly without any difficulties. This way I promise new business to agents, good tenants to landlords and continuous income stream to myself.

Finally tie up with your local banks. Despite what most people think banks these days are quite open do business with individuals. They can offer you a proprietary api for a small upfront fees (and lot lesser transaction charges) which you can use to lower your charges. But don't do this at first. This should be a last resort when you have exhausted other methods or if you want to grow your market to group #1.

Anyway don't give up on the idea. Talk to people in your locality maybe you can discover some other ways that you can help them besides collecting rent.

brickcap··on Ask HN: What are you working on right now and why is it cool?
Great thread this :)

I am working on wrinq, an application that allows tenants to pay their rent online. I think it's cool because it makes it convenient for tenant to pay his rent and for the landlord by taking care of bookkeeping and reminders. I am set for a launch in December.

Also I am working on an openresty book[2] (definitely an openresty guide) which also should be complete by December. The official docs for openresty are very good but when I was starting out I struggled with a few things(like ngx.location.capture) so the goal of this book is to help someone who is new by quickly showing him some core concepts. I think that a lot of people who already use nginx can benefit a lot by using openresty.

[1]http://www.wrinq.com/

[2]http://www.staticshin.com/programming/definitely-an-open-res...

brickcap··on Ask HN: What are the best light-weight CSS frameworks?
I like simple grid. Just a simple grid system as the name suggests. Less than 1kb minified.

http://thisisdallas.github.com/Simple-Grid/

brickcap··on Ask HN: What are you reading?
I just started Idle thoughts of an idle fellow by Jerome K Jerome [1] as I quite enjoyed his other book, Three men in a boat to say nothing of the dog.

Some quotes:

> What readers ask nowadays in a book is that it should improve, instruct, and elevate. This book wouldn't elevate a cow.

> It is impossible to enjoy idling thoroughly unless one has plenty of work to do. There is no fun in doing nothing when you have nothing to do

Great light read before going to sleep :)

[1] http://www.gutenberg.org/files/849/849-h/849-h.htm

← PreviousPage 3 of 9Next →