Hacker News new | past | comments | ask | show | jobs | submit | gvilarino's comments login

Programming is just a series of hacks on hacks.


typo :)

it's markfarrell.democracyos.org


Super-valid concern. The truth is that very-politically-involved people aren't that big a percentage of the overall population (at least from the numbers I've seen - usually around 10%). So we're trying to find ways of making it easy for that other 90% to engage in civic participation. If we get to nail that, then even any 'arranged' participation would not account for a significant part of the votes for a given issue.

Also, from our experience with DemocracyOS, users actually participate in stuff they actually care about, and not equally on every sort of issue. So it's interesting to see how larger userbases would unfold with apps like DemocracyOS or similar.


I want to stress the point that there's no tool that suits every problem; there are just different tools for different problems. If you only know how to use a hammer, then everything will look like a nail.

That been said:

I've developed in .net for a long time and, even if I totally respect what they've been doing lately with open-sourcing the framework and more recently msbuild, I honestly think their approach isn't up to date for most scenarios you'd want to address nowadays.

If I'd have to choose specific languages for specific scenarios, I'd say that today, IMHO, a reasonable approach would be:

Web/desktop consumer-facing apps: MEAN stack is probably the smartest choice because it favors development speed and UX iteration. I can't stress how beneficial is for teams to be able to write any part of the app using the same language. Especially for startups where teams are usually small: having everyone being able to develop any aspect of the application (frontend, backend, DB acces, etc.) is a pro I'd favor above many others. On top of that, the community is thriving and most stuff you'd need has probably already been developed or there's a framework for that.

Backend-only/APIs/devops: Go seems to be picking up quite the hype in this space. Even if I haven't tried it a lot myself, the fact that something as powerful and solid as Docker relies entirely on Go can say a lot about its benefits. Other possible choices would definetely be among Ruby or Scala+Play. I feel Java and .Net have become a bit cumbersome for this.

Micro-controllers/drivers/hardware-specific: so if you're doing drone-related software or stuff for IoT or robotics (Arduino, Beacon, Raspberry Pi, etc.) a very valid choice will be plain C. Of course we're talking about a universe of problems that come with unmanaged code, but when you go deep down to perfomance needs, it's pretty hard to beat well-developed C software. I do know stuff has been made with Javascript and Node on the robotics front, but I don't know a lot about it.


I'm the OP and I've built maybe 45 apps with Ruby on Rails. I've played with Angular and Nodes.Js.

When I look at jobs boards though, .net is everywhere!

Thanks for the feedback - upvoted


I've done some stuff in .net. One of the advantages is the learning curve is pretty fast. So it's not a huge investment.

The flip side is it seems a lot of .net jobs are sausage making. Not very much in the way of cutting edge or exciting stuff gets done in .net. Though too cutting edge often is crash and burn, where run of the mill projects can last years and years. (Don't knock a steady paycheck)


I know it's hard to say, but how fast is "the learning curve is pretty fast"? Would two months straight be enough to have a reasonable command (I get that it would be entry level at best)


I would say two months straight of serious study and practice would be more than enough to solidly know your way around the language, .net libraries and tools.

Buy a good book.

I don't actually do client side (or server side stuff) as primary work. However .net is very useful for kicking out simple GUI based tools. If you want to do that, .net has the fastest learning curve end of story.


Thanks "Gibbon1" for avoiding the usual "10,000 hours" response. Upvoted!

I know it's hard to quantify. I have a friend who has offered to do a "8 week internal training program with me" if I commit to working with his company for one year.

I just wanted to hear someone objectively tell me that they thought that's doable first.


Thanks for your insights!

Totally agree; finding out what democratic interaction should look like and how it should work for societies in the current hyper-connected paradigm is -at best- something that will take a lot of time.

There is, undoubtedly, a technological challenge to address, but moreover I think the greatest challenge is the cultural one. We're risen to think communites (countries, towns, organisations, etc.) should be managed in one of so many fashions, but we're willing to ask ourselves time and again what other possible ways there are for doing this, and implement on that.

We may not nail it soon, but we'll definitely try as long as we can.


Brilliant stuff. Nice going guys.


I'd say we're entering that era. Still, both Democracy and its help from technology have a long way to go. DemocracyOS is trying to shorten the distance between citizens and representatives, by letting the formers debate and vote on the same bills that are treated in parliament, prior to them being actually voted, so the formers may take their opinion and actually carry the people's voice into the House.

That's pretty good for starters, IMHO :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: