Dell announces security breach - <AUTHOR> https://www.zdnet.com/article/dell-announces-security-breach/ <comment><USER2> If software development was a true profession, then I firmly believe that many developers would be struck off for extreme negligence or incompetence.

I've found and reported serious security vulnerabilities to many companies that I've worked with, and become very disillusioned with some of the responses. Companies that operate in fields which materially affect people's lives (such as healthcare, finance and telecoms) will deploy software that is so badly designed that there is often no need to break any technical aspect to get access to private and sensitive data.

Yet, when I report a breach, the same people who deployed software with broken (or sometimes no) authorisation models, access control, etc, are suddenly competent enough to investigate their own failure. Invariably, they always have perfect logging and reporting that could not possibly have been evaded and which proves that no breach occurred or data was exfiltrated before the vulnerability was reported.

If another professional, say an engineer, lawyer, or doctor, had demonstrated the incompetence or negligence in their field that I've seen some software developers display (sometimes wilfully - "It's a feature"), they would never be allowed to work again. Software is now so important that I believe that some of the developers and technical leaders that I have dealt with in resolving security vulnerabilities should never again be allowed to work with software that interacts with personal or sensitive data (or, more generally, with software that could affect human life, safety, or privacy).

<comment><USER3> The stack is too large, complicated, and abstracted to put the blame on a single engineer.

Vulnerability in struts? Go after the open source engineers.

CPU vulnerability? Go after the engineers at AMD and Intel.

Bad firmware? Go after the network engineer who setup the box.

In a time when even the highest people in companies are basically untouchable, for example Lehman Bros, and you want to start going after the engineers?

<comment><USER4> I keep harping on it, but civil or nuclear engineers have a world of practice we could draw on in software. We just don't.

> Buildings are too complicated!

> Fabrication problem in struts? Go after the strut manufacturers.

> Badly documented connection in column with resulting bracing failure and > buckling? Go after the column connection manufacturers.

> Bad soil conditions led to improper concrete pile hardening? Go after the > geotechnical engineers or concrete placers.

And so on. We have building codes with pre-set ways of doing things for a reason. You can go outside of them if you want to, but you take on way more cost. Not just bonding, but design, testing, etc. We also have, _gasp_ , government inspectors. Say it ain't so! But every single domicile or place of work has had them give the thing a look over, but we can't even get them for a company as important as Equifax.

The Economist is right about one thing: Data is the new oil. We're the new oilmen. And if you want to understand how they slept at night sweeping global warming under the rug look no further than our own corporations that are resisting regulation at every turn.

Always on microphones in almost every home. Televisions that spy on us. Cameras everywhere with facial recognition. Companies that track our phones while we walk around. Hospitals that lose bulk patient records or keep Windows unpatched because "airgaps" then WannaCry hits. Children with anxiety and suicide rates that have sky rocketed. Babies parented by YouTube which for years lacked any oversight on content. Completely unregulated cyberarms market with American companies selling iPhone vulns to corrupt, illiberal states that torture journalists.

Hackable cars. Hackable powerplants. Hackable electrical grids. Hackable telephone towers. Hackable satellites. Hackable tanks. Hackable aircraft carriers.

This cannot stand.

<comment><USER3> I agree we should hold companies accountable for everyone one of your hackabels. Broader and faster moving regulation is probably needed in the US around basic software and networking security.

I absolutely disagree with the OP about holding individual software engineers responsible and even banning them from ever working in software engineering again. Engineers take orders from management and executives. Even with the loudest protest possible they are often shutdown by higher ups. Sometimes the noisy engineers are replaced by more docile yes types or shunned.

<comment><USER4> I was a structural engineer (EIT) once. I pushed back against a manager that wanted to do something that I knew for certain would degrade the structural capacity that the design engineer had planned for. He could have fired me but it would have made the news if he did because the public has trust in the individual engineers that design our buildings and civil works.

We need the same for software. It doesn't mean mistakes never happen. Mistakes happen even with the best of intentions by the smartest people. We don't blindly strip engineers of their livelihood. Only when an engineer has shown gross incompetence or carelessness or repeated poor judgement does that happen.

</comment></comment></comment></comment></comment><comment><USER5> Dell's been an open book for years.

One piece of spam I've got on a brand new email account was ~1 day after ordering a brand new XPS. It was a fake tracking code email about my dell order with correct details like laptop, account name, price. I contacted dell and only managed to find out my order wasn't even in the post yet. They weren't interested in anything.

And I also never got any more than that specific 1 piece of spam.

<comment><USER6> Out of curiosity, how did you/did you confirm it was a fake?

<comment><USER5> The tracking number was a zipfile I have to run a program to get.

I messaged Dell to confirm who they ship with, who said it's not in the post yet. Once another tracking number came in a week or so it was from dell since it had more branding and did actually contain just a number and did work in the shipping companies website.

</comment></comment></comment><comment><USER7> It's insane that companies are allowed to say "yes there was a security hole, but no we don't have logs, therefore nothing was stolen, so stop asking."

Their refusal to give the number of exposed accoundlts makes it seem like it's pretty bad.

</comment><comment><USER8> Dell redirected the vulnerability press release link to a Christmas Deals page. Heh.

<comment><USER6> Oh. Wow. That's just awful.

</comment></comment><comment><USER9> From [https://www.dell.com/customerupdate](https://www.dell.com/customerupdate)

What is a "hashed password"? Hashing is a cryptographic security mechanism, similar to encryption, that scrambles customers' passwords into an unreadable format. Dell 'hashes' all Dell.com customer account passwords prior to storing them in our database using a hashing algorithm that has been tested and validated by an expert third-party firm. This security measure limits the risk of customers' passwords being revealed if a hashed version of their password were to ever be taken.

<comment><USER10> Bleh. Maybe it's too much to hope for a company like that to give any specifics but that's pretty empty by itself. I mean, great, they didn't use plain text(!), but "MD5 with no salt" would fit that blurb just fine too. I really hope Dell was properly using an adaptive hash, but usually when companies do a good job there they want to tout it because it does in some small way show they care somewhat despite the breach. Even if it should be the norm saying "we used bcrypt with 65k+ rounds" or whatever is legitimately reasonable to put in there.

<comment><USER11> It seems like they could add a parenthetic which is more specific to help those of us who actually understand the question gauge for others who ask.

As it stands if my mother asked whether this means her password is protected, my answer realistically is "No". Her passwords are not great (it is, after all, not a great sign that I'm saying "her passwords" meaning I know what they are) but they're not in the Pwned Passwords list for example, still a reasonable brute force of MD5 would get most of them. Whereas if they said they had even a crummy salted and pessimised hash, say PHK-MD5-crypt, I'd feel comfortable saying that "Yes", nobody is going to break her password. Which isn't to say nobody could in theory, just that salt means they'd need to target her and pessimisation means it'd cost money, and so why her?

I guess the reason not to is that it invites Monday Morning Quarterbacks. "Oh, why did they use PBKDF2 with this many rounds? Why not Bcrypt? Why not not Argon2?" and so on.</comment></comment></comment>


Invite Users to Your Office For Pictures with The Staff - <AUTHOR>

Some startups do user meet-ups and that's great. But there's another easy way to build user loyalty and motivate your team. Invite users down to your office to come have their picture taken with the staff. Post the picture on your site. It only takes 5 minutes and it's worth a lot. <comment><USER2> Not a bad idea, but how many users could you actually get to come to your office? This would definitely motivate your team. Seeing live people who actually use your product and express what they like about it is great. But in terms of user loyalty, I think there would be maybe 10-20 people who might actually make it down.</comment>


How Animals See the World - <AUTHOR> http://nautil.us/issue/11/light/how-animals-see-the-world <comment><USER2> The problem is of course, that we still map these different effects to the human perceptible colors, and then use a human brain and a ontology shaped by human perception to understand the resulting picture. So this needs a footnote in the form of Nagel's _What is it like to be a bat?_ [1]

[1] [http://organizations.utep.edu/Portals/1475/nagel_bat.pdf](http://organizations.utep.edu/Portals/1475/nagel_bat.pdf)

<comment><USER3> Hacker News is a funny place. I saw the story and thought "Ha! That is only a small part of it. They should read Nagel's 'What is it like to be a bat?'". Of course the top rated comment would already say that - obvious really. Also sometimes sentences here end with ?'". and make perfect (I think) sense.

</comment></comment><comment><USER4> Ahh - this stuff always disappoints me. It's so simplistic to suggest that animals like bees see just like us, but with a different color scale or something. The different wavelength sensitivity is one thing, but the entire experience of vision would be fundamentally different for an insect - from the basic optics of ommatidia to the faster perception of time and a dozen other things. Nautilus is a good site but this type of article I can simply never take seriously - like right-brain/left-brain stuff, for me it feels too transformative of the facts to be really informative.

<comment><USER5> I would think the most direct approach to exploring other animals' "experience of vision", would be to use the machine-learning algorithms we've trained to extract sense data from the human optic-nerve/neocortex, run them on recordings of other animal-brains, and see what we get.

<comment><USER4> unfortunately, the raw data coming from the eye is very much just that, raw. the experience of vision is only completed after much processing in the sensory cortex. There's a huge amount of metadata that gets mixed in with the stream - things like edge detection, attention, motion prediction, and so on. And even that's going to differ from person to person.

Although it would be very interesting if we could hijack an optic nerve stream, calibrate it using a test image, and then attempt to recreate the visual processing units. Unfortunately this falls prey to the same fundamental problems in some ways - we will only be able to interpret the signal of a mouse or cat in a way that we understand. That is, we would attempt to recreate a signal that is coherent to us and makes sense to our visual system, but that isn't really representative of their actual visual experience.

</comment></comment></comment><comment><USER6> They forgot Mantis Shrimp! Mantis shrimps see pretty much everything. Polarization, colors, ultraviolet, you name it.

<comment><USER7> Thanks for the good read! ref: [http://en.wikipedia.org/wiki/Mantis_shrimp#Eyes](http://en.wikipedia.org/wiki/Mantis_shrimp#Eyes)

<comment><USER8> A good one from the oatmeal: [http://theoatmeal.com/comics/mantis_shrimp](http://theoatmeal.com/comics/mantis_shrimp)

</comment></comment></comment><comment><USER9> "That vision mechanism comes at a price — bees' eyes have extremely low resolution, so their vision is very blurred. Nilsson calls this design "the most stupid way of using the space available for an eye.""

The article forgets that the compound eye allows bees to have a much higher "frame rate" per "pixel" than a human eye ever could have.

<comment><USER10> there's also the whole thing where a compound eye enables the capture of a full light field, e.g. like the Lytro camera which uses a "plenoptic" system to capture image data that can be re-focused or used to create 3D images after being taken.

Which rather implies that a bee has a full 360 degree constant 3D model of its environment, but without the heavy memory and processing requirements needed in human vision to get that.

</comment></comment><comment><USER11> Kind of relevant: [http://www.pbs.org/wgbh/nova/next/nature/power-lines-look- li...](http://www.pbs.org/wgbh/nova/next/nature/power-lines-look-like- terrifying-bursts-of-light-to-animals/)

</comment><comment><USER12> Interesting bit near the end:

 _" And even though they have incredible color-changing skills — going from beige to blood-red or striped in the blink of an eye — cuttlefish are totally colorblind."_

Which raises the question of how cuttlefish mimicry works - how can it imitate what it does not perceive? There must be some feedback mechanism, what signals does it use?

I found little in a quick search: "Camouflage is one of the least studied subjects in biology" ( [http://reefbuilders.com/2011/06/06/cuttlefish/](http://reefbuilders.com/2011/06/06/cuttlefish/) ).

</comment><comment><USER13> Are there cameras capable of taking pictures in a broader spectrum of colours available for less than a small fortune? I'd like to see photos taken infrared - ultraviolet 'compressed' into our red-blue range.

<comment><USER14> Although cameras have built-in filters that block UV and IR light, the IR portion is often weak and allows some light through. By adding a filter[1] that blocks visible light, there is often enough IR left to expose a photo[2]. With some caveats[3], it can be a cheap way to see the world in a different part of the spectrum.

[1] Hoya R72 for example

[2] A tripod is usually necessary since only a fraction of the light makes it through the filters. Even in bright sunlight a long exposure time may be required.

[3] Not all lenses work well in IR. Some have internal reflections that lead to "hot spots" or white patches, and some have bad optics for IR that causes blur. Similarly, some cameras' IR cut filters are too strong to be useable.

</comment></comment><comment><USER15> I'm surprised to find out that human vision is among the sharpest. I didn't knew humans outperform over other animals with something else other than brain and long-distance running.

</comment><comment><USER16> > But what sets rattlesnakes apart is their ability to sense infrared light.

Ah, this starts to sound like snakes are dinosaurs evolved to prey on mammals.

</comment><comment><USER17> It's sad to see that this animation [http://interactive.nautil.us/inter_13/](http://interactive.nautil.us/inter_13/) requires 312KB of JavaScript.

</comment><comment><USER18> So when will these filters be available on WolframAlpha?

<comment><USER19> Some of them will be impossible because digital images are already limited to human visible ranges, so you don't have infrared or ultraviolet values. But there could be filters for transformations within our ranges.

<comment><USER20> So as soon WolframAlpha has strong AI which can interpret and simulate the scene (maybe in 10-200 years?).

</comment></comment></comment><comment><USER21> I think it is an interesting and cool piece of news but not impressive. I think it is more impressive to think that human beings have the same eyes but we see a different World..</comment>


Ask HN: Is there a service that summarizes news for the last week or month? - <AUTHOR> Lately I'm finding keeping up with the news is taking up more time than I'm comfortable with. I've tried cutting back and checking less often but when I did that I become misinformed about some of the news due to missing context / important stories along the way leading up to the day I happened to check it.
A lot of the news content I consume feels speculative and addictive. A lot of hand wringing about what might happen, whereas if I could just wait and read the story at the end of the week or month I could consume the news in one article / summary instead of a slow trickle over many days / articles.
Basically, I want to batch my news consumption down to one day so that it isn't a constant distraction. I've been googling around for this but I'm having a really hard time finding something along those lines. I would definitely be open to paying for a service like this. Have any HN users found a service like this or a better solution than what I'm describing?
Thanks. <comment><USER2> [https://www.nytimes.com/subscription/hd/1041.html](https://www.nytimes.com/subscription/hd/1041.html)

We used to call them the Sunday paper.

<comment><AUTHOR> That model is actually very close to what I'm looking for. I'd prefer for it to be digital but would be open to other mediums. I do worry a little that one newspaper would leave me with blind spots / the same context problems but I've honestly never consumed news that way so I don't know.

I wonder if Sunday papers are still a summary of the weeks news or if they assume some prior knowledge.

<comment><USER3> >I've honestly never consumed news that way so I don't know. >I wonder if Sunday papers are still a summary of the weeks news or if they assume some prior knowledge.

Is this a real account?

<comment><AUTHOR> >Is this a real account?

Haha, yes. I guess that does sound strange. I've grown up consuming news via the internet. It always seemed like a faster / easier way to get news rather than buying a magazine or newspaper.

I would be open to using an older format like a newspaper, but I worry that they may have the same problems because I cannot find an online service like this provided by newspapers (NYT used to have a weekly summary but it has been discontinued for example).

</comment></comment></comment></comment><comment><USER4> Wikipedia has a good summary page which you can skim on a daily/monthly basis

[https://en.wikipedia.org/wiki/Portal:Current_events/April_20...](https://en.wikipedia.org/wiki/Portal:Current_events/April_2018)

</comment><comment><USER5> How would that be different from reading the New Yorker or Harper's or The Economist? Not only do they pick the most newsworthy stories of the previous week, they also editorialize, comment, qualify, elaborate and explain. Pretty neat!

</comment><comment><USER6> > Ask HN: Is there a service that summarizes news for the last week or month?

Yes, a weekly or monthly news magazine. They've fallen out of favor in the last couple decades, but there are still a few around.

</comment><comment><USER7> _The Economist_

<comment><USER8> I'll second this. Switching from browsing news sites daily to just reading The Economist (in print, not online) has made me feel no less well-informed, if sometimes a few days out of date, but much less stressed about "keeping on top of the news", which is a losing game.

</comment></comment><comment><USER9> Google slow news magazines, there's a few of them or weekend edition NYT/WSJ [https://www.slow-journalism.com/](https://www.slow-journalism.com/)

</comment><comment><USER10> Above the fold will give you a snapshot of news across multiple outlets [http://www.abovethefold.io/](http://www.abovethefold.io/)

</comment><comment><USER3> "Important stories" what kind of news are you missing out on that has such an effect on you?

I think you need a break from the news.

<comment><AUTHOR> So I've tried this as well to great effect. I can see objective positive benefits in my life when I stop consuming news all together. I've considered going this route and "taking a break" permanently.

I feel sort of guilty doing that though, like I'm being a bad citizen by not being informed about what is happening in the world.

I've also tried just batching it down to one day with the current news sites I visit but I found it surprisingly difficult to understand the context of what was happening based on the news of that day.

Ideally I'd like to have my cake and eat it too. Only spend a little time per week or month reading the news but be as informed as someone who was consuming the slow trickle of the same news every day throughout the month.

<comment><USER3> Yeah, if you commit thoughtcrime by not staying in sync with the zeitgeist you will be kicked out of the tribe, kind of like a bad fork on a blockchain.

</comment></comment></comment><comment><USER11> [http://n-gate.com](http://n-gate.com)

<comment><AUTHOR> Hangs on the security check when I try to visit.

[https://i.imgur.com/JWbP197.png](https://i.imgur.com/JWbP197.png)

<comment><USER3> Yeah, it's broken. Move along, netizen.</comment></comment></comment>


Show HN: Generate a git repo to show a banner on your Github profile - <AUTHOR> https://github.com/mappum/gitbanner <comment><USER2> Here are some similar tools I've used for this in the past:

[https://github.com/pikesley/pokrovsky](https://github.com/pikesley/pokrovsky)

[https://github.com/gelstudios/gitfiti](https://github.com/gelstudios/gitfiti)

<comment><USER3> It strikes how every single one of these tools assume you have an empty contribution timeline to begin with.

</comment></comment><comment><USER4> Gonna be really annoying if everybody has one of this things. What's wrong with, you know, the actual data about your github activities?

<comment><AUTHOR> I don't really expect anyone to keep theirs after the initial novelty has worn off, it was just a quick, fun thing for me to make.

Hey, what happened to that flashing RGB thing with the catchy song on your website?

<comment><USER4> Yeah I would agree with that. Hopefully!

As for the RGB thing, I am surprised you recognized my name! I had to take it down awhile ago at the request of the original author. He was fine with me having it up there as long as I credited him (by the time he saw it on there it had been up for like 10 years, originally I had no idea where it came from). I think he was nervous about a potential issue with the copyrighted music (it was a midi of the beverly hills cop theme).

<comment><AUTHOR> It took me a second to remember where I knew your name from. :P I used to always tell people to go to your site, once we put it up on a giant projector at a LAN party until nobody could take it anymore.

</comment></comment></comment></comment><comment><USER5> Commit history banner I appreciated: [https://twitter.com/gjreda/status/432661964209143808/photo/1](https://twitter.com/gjreda/status/432661964209143808/photo/1)

</comment><comment><USER6> Very, very cool. But I've got a small glitch. Mine shifts a day too early: [https://github.com/replaid](https://github.com/replaid)

Perhaps a time zone issue? Created this at 10pm Eastern time.

</comment><comment><USER7> So I guess most people have a blank activity grid and need something to fill it?

</comment><comment><USER8> lol this is so pro. Wouldn't this break after a day when all the commits shift over one?

<comment><USER9> Just make it a very very slow marquee.

</comment></comment><comment><USER10> Im job hunting soon and lots of people will be looking at my github. Im not sure if this would be cool or not. On the fence.

<comment><AUTHOR> Make it say "HIRE ME!"

</comment></comment><comment><USER11> what happens if you have actual contributions, do they pollute the banner?

</comment><comment><USER12> dude this is sick

</comment><comment><USER13> Very clever.</comment>


Bees are better at counting if they are penalised for their mistakes - <AUTHOR> https://www.newscientist.com/article/2219321-bees-are-better-at-counting-if-they-are-penalised-for-their-mistakes/ <comment><USER2> that doesn't make it right. Be kind to the bees</comment>


Coders of the world, unite - <AUTHOR> https://www.theguardian.com/news/2017/oct/31/coders-of-the-world-unite-can-silicon-valley-workers-curb-the-power-of-big-tech <comment><USER2> All good, but it misses the elephant in the room: there can be no open Internet without absolute freedom of speech on the 'net. You can't advocate the open internet with one hand and advocate banning users and safe spaces with the other ¯\\_(ツ)_/¯.</comment>


Common Mistakes for New Golang Devs - <AUTHOR> http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/ <comment><USER2> One of the most common mistakes new Go developers make are creating race conditions.

For example, the author's final example. (And maybe others, I didn't read them all.)

      $ go run -race racy.go
      </comment><comment></comment><comment></comment><comment>
      WARNING: DATA RACE
      Write at 0x00c42009800f by goroutine 6:
        main.main.func1()
            /home/eric/racy.go:12 +0x38

      Previous read at 0x00c42009800f by main goroutine:
        main.main()
            /home/eric/racy.go:15 +0x8b

      Goroutine 6 (running) created at:
        main.main()
            /home/eric/racy.go:11 +0x76
      </comment><comment></comment><comment></comment><comment>
      done!
      Found 1 data race(s)
      exit status 66

edit: add code listing

      package main

      import (
          "fmt"
          "runtime"
      )

      func main() {
          done := false

          go func(){
              done = true
          }()

          for !done {
              runtime.Gosched()
          }
          fmt.Println("done!")
      }

<comment><USER3> What should the code be instead?

<comment><USER4> There are many possible fixes. The most obvious is to wrap it in a mutex (assuming 'done' is standing in for much more complex logic):

      func main() {
          doneMutex := sync.Mutex{}
          done := false

          go func(){
              doneMutex.Lock()
              defer doneMutex.Unlock()
              done = true
          }()

          getDone := func() bool {
            doneMutex.Lock()
            defer doneMutex.Unlock()
            return done
          }

          for !getDone() {
              runtime.Gosched()
          }
          fmt.Println("done!")
      }

Another option would be to use a channel in place of done.

Effectively, the lesson here is that go doesn't have concurrently safe types (e.g. no concurrent map) nor generics to create them, so all concurrent code must be built around the builtin generic concurrent-safe type (channels) or must make careful use of mutexes / the atomic package / etc.

Idiomatic concurrent go either is built around channels or mutexes, and in either case the compiler won't tell you if you messed up, only the runtime race detector and testing will save you.

<comment><USER5> Version 1.9 introduced the sync.Map [https://golang.org/pkg/sync/#Map](https://golang.org/pkg/sync/#Map)

Would using a sync.WaitGroup and closure be wrong? Is mutex better for shared memory?

<comment><USER6> sync.Map is NOT a good solution for all concurrent map use cases. Please use your best judgement for the well documented trade-offs:

>The Map type is optimized for two common use cases: (1) when the entry for a given key is only ever written once but read many times, as in caches that only grow, or (2) when multiple goroutines read, write, and overwrite entries for disjoint sets of keys. In these two cases, use of a Map may significantly reduce lock contention compared to a Go map paired with a separate Mutex or RWMutex.

</comment></comment></comment></comment></comment><comment><USER7> "In C++ creating variables using the new operator always means that you have a heap variable."

It's hard to make accurate statements about C++ :-) This is not one. Perhaps it would be more correct to say "In C++ a |new| expression is used to construct an object whose lifetime is not necessarily bound to the scope in which it is created" or something like that. It is definitely not true that an object created with |new| is allocated on a heap. It can be placed on the stack, or any place, or maybe not even allocate.

<comment><USER8> Could you explain?

<comment><USER9> placement new lets you choose where to construct an object.

It's somewhat arcane, though. Few application programmers even know about it (although their C++ books all dutifully mention it, usually without more than a single sentence).

<comment><USER10> It's not that arcane, we used it _all_ the time for pooling, particle systems, in-place loading, etc. Super handy but also like most things in C++, dangerous if you don't know what you're doing.

</comment></comment></comment></comment><comment><USER11> I tried to approach Go as a better C and alternative to C++. C++ has too many warts. I was hoping Go fixed them. A lot of them it did, but articles like this reminds me how many warts Go still has.

> Ken Thompson was once asked what he would do differently if he were > redesigning the UNIX system. His reply: "I'd spell creat with an e."

Similar naming is littered through Go. It's like he never learned.

<comment><USER12> He fixed it in Go: [https://github.com/golang/go/commit/c90d392ce3d3203e0c32b3f9...](https://github.com/golang/go/commit/c90d392ce3d3203e0c32b3f98d1e68c4c2b4c49b)

<comment><USER11> And yet we have package names like "fmt".

</comment></comment></comment><comment><USER13> Ping me if you have other gotchas you'd like to add. There'll be a few more soon (JSON, Cgo, etc).

<comment><USER14> This is outdated and incorrect [http://devs.cloudimmunity.com/gotchas-and- common-mistakes-in...](http://devs.cloudimmunity.com/gotchas-and-common- mistakes-in-go-golang/index.html#close_http_resp_body)

<comment><USER15> How so?

<comment><USER14> > On error, any Response can be ignored. A non-nil Response with a non-nil > error only occurs when CheckRedirect fails, and even then the returned > Response.Body is already closed.

[https://golang.org/pkg/net/http/#Client.Do](https://golang.org/pkg/net/http/#Client.Do)

</comment></comment></comment></comment><comment><USER16> The articles states:

>"It's OK to call a pointer receiver method on a value as long as the value is addressable. In other words, you don't need to have a value receiver version of the method in some cases.

Not every variable is addressable though. Map elements are not addressable."

Since everything in memory has an address I am confused by these statements. Does the author mean that "not everything can be pointed to" with a pointer variable in Go?

<comment><USER17> Go itself says you "cannot take the address" of some values. For example:

      m := map[int]int{1: 2}
      p := &m[1]

The second line causes the compilation error "cannot take the address of m[1]".

[https://play.golang.org/p/pIMgeQzOSZK](https://play.golang.org/p/pIMgeQzOSZK)

<comment><USER16> Thanks, I think it was the wording "addressable" that was the source of my confusion. "cannot take the address of" seems more intuitive to me. Cheers.

</comment></comment></comment><comment><USER18> It would be great if you could elaborate on this: "Sending to an Unbuffered Channel Returns As Soon As the Target Receiver Is Ready"

As far as I understand, the problem is that the printing goroutine is forced to exit when the main goroutine exits. This way it's unknown if all the submitted work was done.

It seems to me that the caption is a bit misleading, it implies that the problem occurs only with "Unbuffered" channels.

</comment><comment><USER19> I am not sure why

* Unused Variables

* Unused Imports

are being considered traps or gotchas. They are in fact very sensible design decisions for a compiled language. Having a compile-time error because of mistyping a variable is far better than having to debug a runtime failure.</comment>


Stonic Is Not an Ansible Fork - <AUTHOR> https://blog.stonic.io/0000-it-is-not-a-fork-c0b03c33e408 <comment><USER2> Not only is it not an Ansible fork, Stonic is not software. So far they have accomplished a blog post and some empty Github repos.

<comment><USER3> Agreed, this should be buried. This shouldn't have made the front page.

</comment></comment><comment><USER4> Stonic developers, I'll donate $100 to your project, or to your charity of choice, if you can launch Stonic with one improvement to make it easy for newcomers.

Change this command: `ansible-playbook -i localhost, -c local hello.yml`

To this command: `stonic hello.yml` (or equivalent)

In other words, default to using local commands, and default to being able to run a playbook or task without needing to know up-front which is which. I want to be able to run a local task easily without needing any playbook, host file, etc.

Here's the specific area I'm working on with newcomers: [https://github.com/sixarm/sixarm_ansible_examples](https://github.com/sixarm/sixarm_ansible_examples)

Thank you for your work and your consideration!

<comment><USER5> alias stonic='ansible-playbook -i localhost, -c local'

Should I email you to discuss collecting the $100?

<comment><USER4> Yes as soon as you run that on all Ansible users' machines. :)

</comment></comment></comment><comment><USER6> I wrote about this problem recently. Ansible makes some trade offs I think it might be possible to improve upon nowadays. [https://kev.inburke.com/kevin/provisioning- tradeoffs/](https://kev.inburke.com/kevin/provisioning-tradeoffs/)

I'm working on a project here where you just write code that eventually gets compiled and SCP'd and runs on a host. It only targets Ubuntu but the goal is to replicate what Ansible does, but faster and more reliably. [https://github.com/kevinburke/ansible- go](https://github.com/kevinburke/ansible-go)

</comment><comment><USER7> Ah yes. The perennial problem of managing system state with anything other than shell scripts. Many variations have been tried. Most end up being some kind of yaml based format or a custom DSL with inscrutable error messages.

I don't think the answer is yet another variation on the same theme. The design space for such tools is pretty well trodden and they are all lacking in one way or another. This blog post does not say what exactly about ansible needs to be fixed and what their plan of attack is. It just sounds like the author would like a more responsive set of developers which is a social problem more than a technical one and writing yet another configuration management tool is not the right solution to that problem.

Some interesting variations on that theme are [http://babushka.me/](http://babushka.me/), [http://larsyencken.github.io/marelle/](http://larsyencken.github.io/marelle/), [https://github.com/brandonhilkert/fucking_shell_scripts](https://github.com/brandonhilkert/fucking_shell_scripts), and [http://palletops.com/](http://palletops.com/). I also have a variation in mind but every time I sit down to write something I remember that there are already way too many of these and instead just write another shell script.

</comment><comment><USER8> I don't get Ansible (and the likes) anymore in 2016. I do still use it a lot, but when I use it, it always ends up being a canary for system design smells. Changing state on a server _after_ deployment is just always a pain. But seems to be the only thing ansible tries to address. Another use case is using Ansible for immutable stuff, but that just pushes Ansible in the territory of orchestration tools, and the latter usually do a better job.

</comment><comment><USER9> > It looks like Ansible is the tool from the Operations world for Developers > and we need a tool that is built by Developers for Operations. That is how > we think a DevOps tool should feel.

This... sounds like it would take the balance in the wrong direction. The idea of DevOps is a working together, and one of the reasons I like Ansible is that it strikes a decent balance between the world of 'hack together shell scripts and get things running' and 'let's build a well architected application'.

Anyways, the number of PRs and issues is high, but it's par for the course for any popular open source software. Another community I'm involved in, Drupal, has thousands of open issues/patches, and we have so many longstanding bugs that we have a special name for them—DrupalWTFs.

At least with Ansible you can monkey patch if absolutely necessary, and it's mostly possible to override core functionality through modules and roles.

The core devs do need to do more work communicating vision, implementing community feedback, etc. Especially since the Red Hat acquisition, it'd be a good gesture to make it clear Ansible itself isn't just a sledgehammer meant to make Red Hat be 'DevOps' hip.

<comment><USER10> I'm on a team of developers right now who fancies themselves as knowing better how to do ops.

The problem with code smell is everyone has a different palate.

</comment></comment><comment><USER11> Not convinced talking about making YA CMS / orchestration tool is the best response.

There's a stack of good tools out there.

I briefly used cfengine, properly used Puppet, briefly used Chef, and then settled on SaltStack. They all have their strengths, but it's hard to believe there's sufficient gaps left in this space to warrant building _whole new suite_ from scratch.

</comment><comment><USER12> I too was very frustrated with Ansible.

[http://www.rollc.at/tech/ansible-is-a- hack.html](http://www.rollc.at/tech/ansible-is-a-hack.html)

So I started work on an alternative. I'm already using it to manage my homelab & such, perhaps soon will try it at $work: [https://github.com/rollcat/judo](https://github.com/rollcat/judo)

</comment><comment><USER13> The whole premise of this article is based on 'There are 921 issues and 365 PRs there. ' which tries to infer this some how means that ansible is failing its community.

These numbers are pretty typical of a large open source project with a huge user base / adoption. Kubernetes currently has 4,763 issues with 601 outstanding PRs and Rails has 550 issues with 667 PRs...so i guess someone better point out they are failing too.

<comment><USER14> The two paragraphs after the one quoting the numbers explain _why_ those numbers are bad, even if they look not out of the ordinary. (and they mirror the impression I got when I looked into fixing stuff in Ansible)

We'll see if these guys can do better, or if someone will write about their "historical mess" in a few years...

</comment></comment><comment><USER15> Dealing with untested spaghetti code is on nobody's todo list.

Good on the Stonic team in their undertaking, and I wish them success on this.

</comment><comment><AUTHOR> Homepage: [http://stonic.io](http://stonic.io)

</comment><comment><USER16> Sounds like Ansible is going the way of Docker. Open source devs see $$$ and the software goes to shit.

The days of the noble craftsman are over.</comment>


Intelligent design think tank's "institute" is a Shutterstock image - <AUTHOR> http://arstechnica.com/science/2012/12/inteliigent-design-think-tanks-institute-is-a-shutterstock-image/ <comment><USER2> Also, it's got to be a pretty old stock photo, given that in the background you've got an ABI 373 DNA sequencer connected to what looks like a Mac II.

Being a relic of the very early 90s, the only thing the 373's good for now is taking apart on YouTube and playing with the laser:

<https://www.youtube.com/watch?v=B_CdHkDVDRk>

<comment><USER3> This is why I love HN. You get an ID not just of the computer but of the goddamn _sequencer_!

</comment></comment><comment><USER4> Hmm, this would presumably allow people, mischievous people, bad people, to broadcast from the same "lab" in parody.

Of course I'm not suggesting that someone should DO IT, DO IT RIGHT NOW you understand. ;)

<comment><USER5> You are evil. And I can't wait for this to happen.

</comment></comment><comment><USER6> Prop up an actor in a lab coat and you gain instant credibility because it looks so 'scientific'.

<comment><USER7> Try it, it really does work. Some people assume you know everything about every disease known to man as soon as you wear one.

I have also noticed that people are a lot more likely to ask you for directions while wearing one too.

</comment></comment><comment><USER8> "As a think tank focused on intelligent design, the Discovery Institute presumably has no need for physical laboratories—its research is mostly imagination-based."

This sentence turned me off tremendously. I understand that the writer doesn't believe in intelligent design, but that's quite a jab at something that these people are dedicating much of their working lives to. I know that (we) Christians are often accused of being closed-minded and myopic, which is something that I am truly saddened about in modern Christianity, but it's not becoming of either side!

Disclaimer: Bible-believing Christian, but still a rational thinker ;)

<comment><USER9> If you're going to spout off nonsense like the folks at the Discovery Institute, I feel little remorse when you are publicly ridiculed.

Edit:

In my haste I think my reply may have been a little tangential. Intelligent Design is absolutely ridiculous. It carries no basis in scientific theory or observation. It is at best bad science and thinly veiled political and religious dogmatism, and at best a celebration of ignorance. If you want to believe the Earth is flat, or sitting on the shell of a turtle, or 6,000 years old, go for it. You can believe whatever you want. But when you start saying that publicly funded science classrooms should be teaching that drivel, you deserve every ounce of the hate, ridicule and ostracism that is coming your way.

<comment><USER8> re: edit.

I don't know if anyone "deserve[s] every ounce of the hate [....] that is coming [their] way." I disagree with people, people disagree with me. I'm not sure when we started handing out hate so freely.

<comment><USER9> Hate is an intentionally strong word; I don't actually "hate" people that believe in ID. That being said, trying to get ID and other religiously- motivated nonsense into schools is a direct threat to everything those schools stand for.

Edit: type fix.

<comment><USER8> Understood. See my comment below re: public schools.

There are schools where creationism is taught, you know what they're called? Private schools! Send your kids there if you don't want them to hear about evolution, simple as that.

tl;dr: I agree

</comment></comment></comment></comment></comment><comment><USER10> Real, peer-reviewed, science, can't prove (or disprove) there is a god. But science has proven that if there IS a "design," it's far from intelligent.</comment>


Tesla's Groundbreaking UX - <AUTHOR> http://uxmag.com/articles/tesla%E2%80%99s-groundbreaking-ux-an-interview-with-user-interface-manager-brennan-boblett

<comment><USER2> Odd, I've had the exact opposite reaction. I will say from a functional point of view, it's excellent and feature packed. But from an aesthetic and consistency point of view, it still has a long way to go.

For example, it's as if there are actually 4 different UI's that share almost nothing [instrument cluster ui, center console ui, google maps ui, garmin ui (yes, there are two different navs)], each of which has it's own set of controls with a unique style.

That said, it's a great start (given they're such a new company and the ui is designed from scratch), and I'm excited to see what they'll have in store in the future.

</comment><comment><USER3> I've always found it odd that people would prefer an all-touch panel in a car. I find the knobs and buttons to be useful because they offer tactile feedback. I don't have to look away from the road to turn my volume up or to switch a track. The car is one of the few places where knobs/buttons make sense to me. Maybe I'll be eating my words in a few years.

</comment><comment><USER4> Maybe it is just that UI from all other companies isn't that good, and everybody is amazed at something that doesn't suck.

<comment><USER5> That's the biggest thing in design.

</comment></comment><comment><USER6> If you're wondering what a "navy stem" is, it's really "nav system". They screwed that up when they quoted the original article.

</comment><comment><USER7> Four suggestions: 1. Lenticular screen for a passenger's detailed view. 2. ?Infrared? sensor detecting which side is using it. 3. Anchor/dedicate screen space to controls. 4. Haptics with physical reference points. All should be relatively cheap to implement.</comment>


Stop Freelancing - <AUTHOR> http://robertnealan.com/stop-freelancing/ <comment><USER3> It really all boils down to risk management.

If you're a self-identified say, "Ruby freelancer", the value proposition is "I am an independent Ruby developer for hire". For staff augmentation gigs or applying for a FT position, this is all well and good, because whoever's hiring is looking for warm bodies with specific technical capabilities.

However, many companies are looking to solve specific business problems and might not know how. Simply hiring a developer who happens to know Ruby doesn't guarantee that the problem will be solved — it's a huge risk. It's sort of like saying, "all I need is someone who knows how to swing hammers if I want to build my wife and I's dream home."

Mitigating that risk means stepping away from the "<technology> freelancer" title and becoming a business consultant _who happens to use e.g. Ruby_ to solve business problems. On your end, this is going to require less time spent thinking about the technology, and more about the path to solving the underlying problem at hand. From the perspective of a client, this is a much safer bet. And when there's less risk involved, clients are willing to spend more. And treat you more as a consultant. And you'll be happier, your closing rates will go up, etc.

<comment><USER4> This really depends a lot on the business. Even for consultants, many companies prefer to split business and technical consulting, sometimes contracting them out separately, or sometimes just contracting one of them out as needed. In that situation, they typically do _not_ want the technical consultant involving themselves in the business case, because they were hired to solve a technical problem, not to second-guess the role of the technical problem in the hiring company's business. This is particularly common in large companies hiring engineering consultants: a metallurgy consultant hired by Exxon or BP to assist with a design or problem (actual example a friend does regularly) is supposed to provide technical input on metallurgy as required, not try to sell a company on the value proposition of Metallurgical Solutions. Their value proposition is that they are an expert who can provide expert advice and problem-solving in a specific technical domain.

<comment><USER5> If only the delineation was so clear, yet often I've be asked to implement a technical solution to a political or social problem, where a technical solution was not even needed.

<comment><USER6>
        No matter how it looks at first, it's always a people problem.

Gerald Weinberg, _Secrets of Consulting_.

<comment><USER7> I <3 Gerry Weinberg. This book is one of my favorites.

</comment></comment></comment></comment></comment><comment><USER8> It really depends on what types of clients and gigs you want to take on, and what sort of ambitions you have for yourself as a one-man shop. Do you _want_ to remain a one-man shop? If so, biting off more than you chew can be hazardous to your health (literally). You don't want to land the Pepsi account if you're not ready to handle Pepsi volume.

By presenting yourself as an agency, you might signal a higher degree of professionalism and (theoretical) resources. You're more likely to get into serious contention for those Pepsi contracts. At the same time, you might be signaling yourself as being too big or too expensive for the thousands of smaller, more easily attainable, ad hoc gigs that really do want an individual freelancer.

And BTW - you really don't want large-scale engagements, the kind that routinely go to actual agencies, if you're not running an agency. Those gigs are designed for agencies with staffs and resources to deploy. There will be more volume than you can handle as an individual contributor -- including all the work involved in client management, reporting, schmoozing at the corporate HQ, etc.

<comment><AUTHOR> All great points. Personally, I am looking to grow my business to be more than just me and it was one of my main motives to start presenting myself as a business, it just happened to carry with it the beneficial side effect of being seen in a more professional light (most if not all my clients are aware I'm still the only full time employee).

Regarding taking on too large of a project should you wish to remain a one-man shop - all I can say is that the projects you turn down are equally as important as those you accept. You have to know both your abilities and the limits of what you can do as one person.

Also, I'm more of a Coke person.

<comment><USER8> I'm more of a Coke person myself. Funnily enough, my comment originally referenced Coke. Then I realized I'd overused Coke as an example of "Generic Big Company/Brand/Advertiser" too many times in my commenting history for personal comfort. So I consciously switched to Pepsi this time around. :)

</comment></comment></comment><comment><USER9> In general, presenting yourself as a professional is essential, but it'd be disadvantageous to act like a dev shop if you're an individual.

In technology, there's a general distrust of "general contractor" style operations. No one wants to hire a developer for $200/hr, only to have him turn around and send the work to an off-shore developer for $20/hr. In fact, most freelance contracts have "no sub-contractor" clauses that explicitly disallow this.

Because of this mistrust, some clients don't even consider working with out- sourcing firms and instead actively seek out individual contractors. They want professional contractors (you should have a LLC, a tax ID number, real legal contracts, etc.), but want that professionalism to come with a human face. Any individuals that are trying to compete with the dev shops are missing out a big market that's a more natural fit.

We're actually running a startup ([http://getlambda.com/](http://getlambda.com/)) that represents professional freelance developers and helps them find precisely these sorts of hiring companies. If anyone is looking for help starting or expanding a freelance business, we'd be happy to chat about what we've learned.

<comment><AUTHOR> I'm not so much suggesting to act like a full dev shop as I openly disclose to my clients that I'm the only current full time employee, but instead to present yourself as a company to whom they can hire and get professional results in return. Unfortunately this does admittedly get abused by people who sub-contract work offshore, but unless your the new guy on the block your portfolio generally starts to speak for itself.

Took a look at Lambda (good design work) - how do you differ from a good recruiter connecting freelance contractors with 6-12 month gigs?

<comment><USER9> I expect you're striking the right balance, but I've also seen cases where new freelancers get too excited to be a "real company" that they start emulating all the worst parts of large organizations and lose the benefits of individuality. Startups are guilty of this too. There's a reason our website has my email address on the home page instead of just a contact form. Anyone who wants to contact us can reach out to me directly. We won't be able to continue that as we grow, but it's a great advantage right now.

Regarding Lambda vs recruiters: we're complementary. A recruiter is usually hired and paid by a company to fill a given role. We're hired and paid by a developer to fill his freelance calendar. We screen clients to ensure they're actually the types you want to work with, we negotiate on your behalf to get you higher rates, and help you brand/position yourself to get you more work in the future.

</comment></comment></comment><comment><USER10> We prefer hiring consultants who bill us as a business rather than as an individual. It's risky and more costly hiring and paying an individual consultant:

* If an individual consultant gets injured, we'd have to pay the individual's worker's comp/unemployment benefits.

* When it's B2B, we don't have to worry about 'tax nexus'. If we're based in NY and hire an individual in California, we now have to register and pay some tax in state of California. Hiring a business erases that responsibility.

* The consultants who have a business are usually more serious and mature. Invoices are cleaner and the experience is more professional all around. Sounds cliche but it's true.

Edit: formatting

<comment><USER11> I find that a lot in the UK, it's a lot better to get set up as a limited company than a sole trader. Some companies and even industries won't touch you as an individual. I guess it's related to the personal liability etc

</comment></comment><comment><USER12> This feels very culture-specific.

Purely anecdotally, I started freelancing a few months ago, and my experiences are very different. I live in the Netherlands. Here, relatively few programmers decide to freelance, and most who do clearly present themselves as a one-man company, not just as "a guy". It's also impractical to freelance without being registered as a business, so maybe the registration process helps some starting freelancers "flip the switch".

Also, I've never experienced anything like pity, as the OP describes. Much rather, people appreciate that I dare taking the comparatively high risk involved (I don't think it's a high risk at all, but many people used to a European-style safe job contract feel differently).

<comment><USER13> Definitely culture-specific. Freelancers are common in New Zealand, sometimes as sole traders, sometimes as one-person companies (the difference is pretty marginal, since setting up and maintaining a company in New Zealand is relatively cheap). I did it for a little under a decade before deciding I was a shitty employer for myself.

</comment></comment><comment><USER14> I think it's an issue of signalling. In Econ they call it information asymmetry. When one party knows more than the other they try to give us "signals" to show their quality. It seems as though as packaging yourself as a company you've managed to signal that it's a serious endeavor as opposed to a passing freelance gig.

</comment><comment><USER15> This is the kind of positive practical advice I wish there was more of on Hacker News.

</comment><comment><USER16> For what it's worth, if you do decide on a company, call it something modest - and don't try to pretend that you're something that you're not or pretend that you're bigger than you are. Seeing a business card that reads:

        John Smith
        CEO and President
        John Smith Global Design Enterprises

just does not cut it.

<comment><USER17> Also, "Suite 18A" in your address doesn't really impress people. Anyone can change "Apartment 18A" to "Suite 18A" in their address, and their mail will still be delivered to the same place.

And it's pretty obvious to a customer that if the "CEO" answers his own phone and they never meet any of the CEO's employees, they're dealing with a one-man operation that's putting up a fake front.

</comment></comment><comment><USER18> While I haven't gotten a business license, I have found that regularly increasing my hourly rate for new clients has done wonders, and moving from hourly to then daily to weekly rates. I now position myself as a data and code synchronization specialist, I guarantee my clients a seamless use of their data and code no matter where it is, and this is enough value that people are eagerly willing to pay. Be the specific solution for a company, then you'll be in charge - not the other way around.

</comment><comment><USER19> The main differences between being an individual vs a company are the intentions for which a client hires you.

Being 'Designer John Smith' attracts companies hoping to lure you in as a full time employee eventually. This can be good for finding work when you don't decline the possibility of full time work, but can burn bridges when you decide to leave the client.

Being 'John Smith Design Studio' attracts clients looking to offload development to another company in order to meet deadlines and get stuff done.

</comment><comment><USER20> This seems like a great idea, one that I've been tossing around in my head for a while now. To the skeptics (of which HN has in droves), has anybody ever gone in the reverse direction, ie, from having their own client-funded business to being "freelance"?

<comment><USER21> I have. I consider it better insofar as it pushes some business development problems off on other folks.

I am in demand enough that it's no problem finding remote projects and people who are super happy to find someone who has better than average skills, and to pay accordingly. Not to mention that I live in an inexpensive area of the US close to a tech hub but with flexible employment laws.

It's a lot less of a headache as I don't have to sell to folks other than the people who are, in turn, selling my skills. I just do the work.

While it cuts my rate by a lot (maybe 50% in most cases), that's a fine tradeoff for picking up a lot of risk and uncertainty.

The problem is that, as a business, I had to deal with scaling and bringing in more folks to do work if I wanted to grow or expand and deal with sales and marketing just to stay in business. As a freelancer I make plenty of money at my own schedule, but can't really make the next big income jump. I'm okay with that for the next couple of years (my kids are finishing middle school), though I imagine that at some point I will possibly get bored with the work and, at that point, try and return to being a "business".

On a related note, though, I also rent my house for similar reasons.

</comment></comment><comment><USER22> Meh. In the UK this line is non-existant. To be a freelancer you set yourself up as a company (it's the most tax efficient way) so exactly whether you position yourself as a body for hire or a solutions company is up to you.

If you want to be a solutions company then be prepared to be a salesperson as well as engineer. If you want to be a body for hire then there are hundreds of agencies that will do that part for you.

They're all assholes, but that's their job.

</comment><comment><USER23> I've never really thought that much about having a company just for branding purposes. But, I've run my business as an official corporation for about 10 years now, even though I haven't been 100% freelance for all of that time. There's some running costs for the corporation itself, but but it has a lot of benefits, tax deductions being an obvious one.

Also if you don't have a corporate tax ID and bank account, then some clients may insist on withholding taxes and pay you as regular employee, so that they don't look like they're trying to dodge payroll tax. Again this affects your ability to control your own salary and tax filing and you can avoid it by billing them as an officially registered corporation with checks written out to your company, not your personal name.

The corporation also helps if you bring on more people to help because you can pay them properly with tax withholding and everything is legit. It's not really that much work using an online Payroll service.

I definitely recommend it if you are earning more than a few thousand dollars per year.

</comment><comment><USER24> I'm hoping to do this by the end of the year or soon thereafter, just so I can start working on being an employee (W-2) of my own company.

My motivation was listening to Gina Trapani (of Lifehacker, etc.) talk on the In Beta podcast ([http://5by5.tv/inbeta/73](http://5by5.tv/inbeta/73)) about how she and her partner in applying for a mortgage basically were having to leave out Gina's income because as a self-employed and 1099 contractor with multiple revenue streams her "career" is too complicated in ways that banks are just going to ignore/reject anyway.

I consider myself lucky in that I bought my home (and signed my mortgage) in the waning days of my time at a midsize company, but I don't expect to live here forever and with the way banking changed after 2008 I'm sure I'd have a very hard time getting a mortgage now even if I was putting down 50% of the purchase price up front.

<comment><USER25> I went through that same thing -- managed to schlock through a mortgage just as a contract was ending and I was going back to school. I've never missed a payment or given the lender any reason to regret lending me the money - <USER2> had I applied a month later, they would have turned me down.

I realize now that an elegant way to handle this type of situation is through an LLC where my annual income is a separate fact from the on-and-off-again nature of contract tech work.

</comment></comment><comment><USER26> Hmm. I have mixed feelings about this. I do agree with the sentiment but my experience has been different. I think it depends on your target audience. I've found when working with Start-Ups they prefer the personal touch and want to deal with me as an individual. I can email from my gmail account, conduct consultation over skype and even put smileys in my email.

I've found it very easy to attract and nurture leads.

When dealing with a conventional business however, everything changes. I need a corporate email address, a limited company name, VAT reg and everything has to be done in person. Even just getting a reply to my email is hard work.

Not to mention, even if I do get my foot in the door with an initial consultation, convering that into paid work is seriously hard work because i have to deal with things like being on an approved supplier list etc.

So yes, if your target audience is B2B (traditional) I'd agree, but if it's consumer or start-up - not so much.

</comment><comment><USER27> Tl;Dr "Perception is 9/10 of reality"

This was a good example of how it can yield results when selling your services. It's also very valuable if applied correctly to many areas of life. As an employee, customer, a defendant in a legal case, when you are trying to attract a mate, etc...

The important thing to remember is "how do others perceive me?". Based on that "what can I do to change their perception?" Of course you need to figure out what image you want to project; that image is also situation dependent.

</comment><comment><USER28> From the other side of the table - I might be much more likely to work with "John Smith, Designer", than I would with "John Smith Design Studio".

Why's that? When I work with "John Smith, Designer", I'm getting John. When I work with his design studio, he might be billing me for work done by his intern or the guy he hires that isn't as good as John.

<comment><USER29> this is not a concern of actual customers who buy actual stuff for actual, significant amounts of money from John Smith Design Studio because John Smith Design Studio has an impressive portfolio and track record and client references.

if not, well, you can simply just ask John if he's going to be the guy working on your stuff.

</comment></comment><comment><USER30> I did the same thing. I freelanced under a company name, with most people not realizing it was just me.

There's no reason not you really, the benefits are so numerious in how people perceive you.

Honestly, I thought a lot of people did this. I'm shocked that this is a novel idea to many freelancers in the comments. Branding _is everything_ as a freelancer.

</comment><comment><USER31> One of the signaling effects this may have is that your corporate identity has built up re-usable processes, code libraries, infrastructure, and other IP. This itself can be useful both as a signal and practically. If you can talk about the corporate identity having processes in place -- even something as simple as a repeatable process for escrowing code -- this can be something that a potential client can lock onto versus a "freelancer" with no repeatable process. It may be an irrational bias, but I'd be willing to bet that most prospects would be more willing to ascribe repeatability and predictability (a key point in evaluating service providers, no matter the scale of the job) to a corporate identity than to a personal identity.

</comment><comment><USER32> Disclaimer: below opinions based solely on personal experience

As a "freelancer who knows how to deliver and maintain software" I easily find clients who understand prototyping, prioritization, shipping features incrementally.

As soon as I try to market myself as "software company", every conversation seems to start with – excuse my language – _estimating_ and _budgets_. What's more, they ask to estimate something vague, "oh and here we do some reports, maybe with charts".

I prefer estimating only small bits to inform decision at hand: do we refine the design so that it looks less "Bootstrapy" (2 days) or add referrals feature (3 days). And in my experience clients who embrace this style of work seek "freelancers".

</comment><comment><USER33> There is a big mindset shift between freelancer, to contractor, to consultant and beyond. All, however, can be relevant and it's important to know which one you can provide and what a customer is looking for.

I have a post somewhere here on HN outlining it if I can find it.. :)

</comment><comment><USER34> In my case, it really worked the opposite way. When I was an 'agency', I barely had any clients because they didn't feel personal. When I used my name, they were more comfortable and were able to relate more, thus feeling more inclined to hire.

</comment><comment><USER35> I thought we were calling ourselves consultants now.

</comment><comment><USER36> I freelance by my name and only my name because I think pretending to me more than yourself is selling people BS.

The clients who hire me and have hired me are able to make the distinction between a 'cute' freelancer and a professional who will deliver.

</comment><comment><USER37> huh. Interesting.

The thing is? I have no trouble at all getting freelancing or "contract" work where I'm paid by the hour, and where I'm expected to pretend like I want to be a full time employee.

I mean, other than the pretending, I have no objections; usually the work is easy and the pay is good.

The thing is, I like mercenary work, and I'm good at it (Most of the gigs I've gotten, well, they seem to be looking for someone who wants full-time work but can't get it without contracting for a while first. Generally speaking? I am better than most people who can't get full-time work, and _way_ better than most people who can't get full-time work, but who can pass the contracting interview process.)

I have a business (and a business licence, and a corporation, and employees, and health +workers compensation insurance, and actually rather more revenue from hosting/VPS customers than I could reasonably expect to make from consulting) - but I still don't have whatever it takes to get larger or more monied companies to hire me as a company, rather than as a freelancer.

It's... odd, 'cause generally speaking? I don't hire people who aren't better than me. If you can hire my company, rather than me? even if you are paying rather more, you are getting a significantly better product.

Now, you could say, the primary difference is that when freelancing, often I use a body shop. Which could be the case; but more than once, I've had a manager call me back after I've left and negotiate a new deal (that he then takes to the body shop) so I guess I'm a little unclear on what value the body shop is bringing the client, so I have no idea how to go about replacing them for my corporation. (the body shop is bringing me value in the form of giving me access to clients who won't do business with my small company.)

Edit: note, I /can/ get gigs without a body shop, and flat-rate gigs, too... but... the people I can sell to directly? Generally speaking, they have... much smaller budgets. To the point where I end up making less money. A whole lot less money.

So, that's my problem; it seems that the body shops are only set up to deal with hourly work, and it seems that I lack something that companies with money need in order to do business.

I have been called unprofessional, and eh, I have a hard time arguing... but like I said, I do just fine; generally far above expectations when going through a body shop, and I /do/ have an infrastructure for outsourcing more of the professional bullshit.

To be clear, I'm not saying the body shop isn't bringing value to the customer... just that I don't know what that value is.

<comment><USER38> First, let me say that I don't mean this to be offensive, and I'm trying to be helpful to you.

As someone who occasionally hires consultants to solve urgent problems for me, I would be nervous about hiring a company whose point of contact had a communication style like yours.

When I need a problem solved, I want someone who understands exactly what I need and who makes me confident that they will follow through and make sure I'm successful. Those people start building that confidence from day one by communicating clearly and making sure that I can understand them easily.

In contrast, your comment is verbose and uses a lot of non-standard punctuation. That makes it hard to understand you. So my first thought is "wow, I'm going to have to do a lot of extra work to make sure lsc understands what I need."

I have no idea if that is accurate. But if one of your competitors was easier to understand, I would probably pick them because I don't have the extra time required to understand you and make sure you understand me over the course of our whole relationship.

<comment><USER37> >I have no idea if that is accurate. But if one of your competitors was easier to understand, I would probably pick them because I don't have the extra time required to understand you and make sure you understand me over the course of our whole relationship.

That makes sense. The thing is, I always thought that my writing was an advantage, not a disadvantage. I mean, it's not perfect, or even very good by English-major standards, but compared to your average salesperson, well, I think highly of myself. You know how some people enjoy the sound of their own voice? I enjoy my own writing.

The problem is that I'm writing for myself, not for the audience. Which is bad communication, even when it is good prose.

>In contrast, your comment is verbose and uses a lot of non-standard punctuation. That makes it hard to understand you. So my first thought is "wow, I'm going to have to do a lot of extra work to make sure lsc understands what I need."

Huh. I have always thought of most sales and management folks as not very good at written communication. Even when trying to convey complex ideas, usually their emails are all of two sentences, and often grammar errors make those sentences nonsense without context.

This lines up with what you have said, though. If they are communicating in two-sentence messages, maybe my three-page essays are not appreciated. No matter what the reason, they /do/ communicate in soundbytes, and my insistence on essays is... counterproductive.

If you are writing to communicate, and not just to read your own prose, the whole point is being understood.

More to the point, it's irrational arrogance on my part to say that folks who are better than I am at sales, which is essentially communication, are worse communicators than I am.

You have... significantly changed my opinion of the consulting situation and the direction in which I need to move in order to improve my business communication. Thanks.

<comment><USER39> Just to push you further in the right direction - you need to decide what you want the email to accomplish. It should do that and no more.

Often you want them to arrange a consultation with you. So they just need a taster of your solution that will leave them curious for more in person where you can still adapt it to their requirements.

Once they are sold, stop selling and go for the close. Otherwise you might talk them out of it.

Respect their time and keep communications short. That way they'll read every word.

<comment><USER7> Well put.

</comment></comment></comment></comment></comment><comment><USER40> I had a completely opposite experience. Nobody wants a company because everyone thinks a company with simply hire a few Indians, make a 3x profit, and add no value. Freelancer gets way better reception.

I even know a lot of consulting companies who pretend to be a bunch of individual people, hiding the fact they are linked, and don't know any examples of the ooposite - an individual pretending to be a company - and i see no reason from a customer's perspective to prefer a company to an individual unless they have a job so big/diverse that an individual can't do it.

</comment><comment><USER41> My experience us the other way around, I have been working for my web dev company for around 10 years, we had a lot of projects, but we also had a lot of expenses, at the end I was working 12+ hours per day and not making that much money. We had to close the company, now I am a freelancer, working less hours from home and making more per hour. It is less stressful and I get to pick the projects I like more. At the end it all depends, you can't generalize for everyone.

</comment><comment><USER42> I used to be one of those kid webmasters working from the basement of my parents. Though I did technically have a company. So having a company doesn't really mean anything.

<comment><USER43> The base point of the article is that its all in how you market yourself.

</comment></comment><comment><USER44> I'm struggling with this, since it feels slightly like lying to call just myself "we".

What should I answer when the clients ask who "we" are?

<comment><USER45> I can imagine some clients would find it disingenuous to have a company name when it's just you, yeah.

This post was interesting because my current boss had the exact opposite experience. He said when he dropped the "company/we" terminology he had been using and was upfront about how it's just him, his relationship with clients improved greatly. It probably all depends on the types of clients you have.

<comment><USER46> I think you can mitigate this by having a company name that doesn't imply size ("Newtech Associates"), avoiding cliche marketing copy and clip art photos (generic hand shake, "We are committed to quality and teamwork"), and putting your photo and info on your "About" page (and don't call it "About Us" of course)

</comment></comment></comment><comment><USER47> That's quite true. During past couple of months I have seen real talent is not sitting in front of your desk and do coding. This way you can walk but can't run. Everything depends how well you sell yourself and make good picture in others mind. Ultimately your goal is presence outside your desk / room. I will say what you have experienced is ground reality about how business works.

</comment><comment><USER48> I get the marketing / branding aspect. From a contractor's point of view, though, there still isn't any guarantee that the firm that is you that is doing contract work will do quality work - there is no audit system other than referrals anyway. I wonder why people are more inclined to refer companies than individuals. Do companies incur more overhead for the client?

<comment><USER3> Companies tend to project stability more than individuals.

I remember being a hard ass about ensuring that our office was full of life whenever a prospective client came to visit. Even though my employees could just as easily work from the corner coffee shop or home, the idea is: A company with overhead and payroll is obviously doing something right and likely more permanent than this freelancer I met working from his house. Therefore, they're more likely to succeed.

The _perceived_ risk of failure is the #1 reason proposals are rejected. You don't need a brick & mortar office or whatever to help mitigate that risk, but it helps.

</comment></comment><comment><USER49> > Behind the scenes barely anything has truly changed

This might be is different from country to country but legislation is usually _very_ different when you are freelancing vs contracting as a company. So even if the author doesn't understand it yet, when shit hits the fan he will (and I don't want to sound too harsh but eventually with companies it always will).

</comment><comment><USER50> This reminds me of a PandoMonthly talk with Chris Sacca:

[https://www.youtube.com/watch?v=iqUG2_cmZ6I](https://www.youtube.com/watch?v=iqUG2_cmZ6I)

He talks about his "aha!" moment when he was broke and then realizes the people he meets would rather see him as a part/leader of a team, and not an individual.

The moments I refer to are between 32-36 minutes.

</comment><comment><USER51> Hey Robert,

Thanks the article and the debate it inspired.

Tell me, was picking a company name that Google attempts to auto-correct a conscious choice? I couldn't get to your website just by searching for your company's name on my first try.

Follow up: About how long do you think it will take Google to recognize I am not making a spelling error and I am looking for your services?

</comment><comment><USER52> I like this. It's all about positioning. I'm technically a freelance writer/editor, but I've found that when I call myself a "content strategist," I can command much higher wages doing the exact same work (since I have to do social, deep analytics, etc. as a writer anyway).

</comment><comment><USER53> note in related post 'Investors don't want to meet you. They wanted to be introduced to you (42floors.com)' ...human beings have a default filter on self promotion. If you are promoting a 3rd entity; even the shell 'myCo' you can apparently circumvent the first layer of this defense.

</comment><comment><USER54> Love this story.

Robert has just re-marketed himself by simply switching his workspace and by using a legal entity to represent himself.

These tweaks have had a positive impact on how he's perceived by clients, and how he perceives himself. And now we can sell more confidently, earn more money and have more fun. Win.

</comment><comment><USER55> Interesting. I've been toying around with this idea for a while, but inexperience with starting a company is prohibitive enough to prevent action.

How is your current freelance shell company marketed? I'd love to see what that website looks like, and how you advertise it differently.

<comment><USER56> I imagine he just set up an LLC or something to that effect, and made his site look more professional, with a logo on it.

I can't imagine it's that difficult. People do it all the time for all sorts of personal businesses.

I haven't looked into it in-depth as I'm not at that stage yet, but I eventually plan to do the same thing -- although I hope to scale freelancing into a much bigger business if at all possible

<comment><USER57> Yes, there's a lot of information out there regarding this, but it's not too terribly expensive to file for an LLC. When the business is actually just you, it's basically invisible in regards to your tax situation. Just open a separate bank account under the LLC's EIN so you don't have to spend as much time tracking business income and expenses when you want the tax benefit of those business expenses.

<comment><USER58> >> When the business is actually just you, it's basically invisible in regards to your tax situation.

Not true. In the U.S. if you create an LLC or S-corp you can pay yourself a salary and also pay yourself dividends (sometimes called distributions). Both salary and dividends are subject to regular income taxes, but only the salary is subject to payroll taxes.

The justification goes like this: if you were paying an employee, you'd pay them a fair salary and then take some extra for yourself as the owner. The owner's payment isn't technically a salary so you don't need to pay payroll taxes on it.

Lots of single-person companies play games with salary and dividends to try to drive their payroll taxes as low as possible. The IRS can crack down on those owners that don't pay themselves a fair salary in an attempt to evade taxes.

<comment><USER59> (I am not a lawyer.)

As I understand it, the real benefit of an LLC for what would otherwise be a sole-proprietorship or partnership is if you do work where there's significant liabilities you need protection from. e.g. you make products which are sold to end consumers, end consumers are frequently dumbasses and hurt themselves, end consumer decides to try to sue you for ridiculous amounts of money.

But to make this actually work, it's a big deal to keep the LLC's finances as separate as possible from your own bank accounts, etc. [https://en.wikipedia.org/wiki/Piercing_the_corporate_veil#Fa...](https://en.wikipedia.org/wiki/Piercing_the_corporate_veil#Factors_for_courts_to_consider)

<comment><USER60> (Also not a lawyer... just someone who has run a single-person "cute freelancing" or "professional services" company for almost a decade now)

Not sure what you mean by "it's a big deal". It's critically _important_ to keep the LLC's finances completely separate from... but the effort to do so is not that high.

My limited understanding is that this varies from state to state, but at least in California, all that's really required is for you to have a separate business checking or savings account, and that receipts should be deposited there, and expenses should be paid from there.

Having a separate Federal Tax ID isn't even required in California, although it is definitely highly recommended. And at least in terms of trying to get a business banking account, many banks will require it.

And @jtbigwoo, you can have a single-person LLC that is "disregarded" as a separate tax entity from the IRS's point of view, which means any revenue to the LLC would show up in your personal income tax (on a Schedule C), known as "flow thru" accounting. That means that no, you don't necessarily have to pay separate dividends and stuff just because you are an LLC.

</comment></comment></comment></comment></comment></comment><comment><USER61> Cheating a bit since I didn't read the article, but having been in and out of that world for a number of years, there were always certain types of clients who didn't want to hire a company--they only wanted to deal with individuals, for reasons stated or unstated.

</comment><comment><USER62> I did this right away when I became a freelancer. Registered my own company, which I understood to be necessary to send invoices. Got an office to work from. But I'm still a freelancer. Or an independent contractor, but what's the difference?

</comment><comment><USER63> Funnily, around me the opposite is true: clients I know are actively avoiding consultancies/companies in favor of freelancers, because some of those consultancies have the bad reputation of selling gradually more low profiles for expensive prices.

</comment><comment><USER64> I don't have time for all that marketing stuff... I'm too busy freelancing!

</comment><comment><USER65> That is a fantastic point. Where would IDEO be if David Kelley didn't first make the leap to David Kelley Design?</comment>


The State of HTML5 Local Data Storage - <AUTHOR> http://rethink.unspace.ca/2010/5/10/the-state-of-html5-local-data-storage

<comment><USER2> Nice job...</comment>


China's Financial Services Industry Is Banking on AI - <AUTHOR> https://medium.com/syncedreview/chinas-financial-services-industry-is-banking-on-ai-68995e8b90f4 <comment><USER2> They are betting so hard on A.I., but a bank only has to do a couple of things.

\- transfer money cheaply, fast and easy

\- fix/ detect abuse and stop malicious wire transfers

\- advise rich clients

\- make it possible to automate things ( eg. An API )

\- give loans

I'm not really sure how A.I. would give the edge. Some things can be automated, but if everyone would do this. The one who doesn't automate and gives more personal advice will have the client's preference.

I think the minimum should be an open bank Api though.</comment>


Chronic Fatigue Syndrome: Rituximab Revisited - <AUTHOR> https://www.sciencebasedmedicine.org/chronic-fatigue-syndrome-rituximab-revisited/ <comment><AUTHOR> I just searched Hacker News for earlier stories about treatments for the same syndrome, and see that about a half year ago here a very preliminary study was the topic of a busy thread. The article submitted just now is a good follow-up on what clinical trial data are still needed to see whether or not rituximab is a safe and effective treatment (my guess is NOT) for chronic fatigue syndrome/systemic exertion intolerance disease.[1]

[1] [https://www.sciencebasedmedicine.org/iom-recommends- replacin...](https://www.sciencebasedmedicine.org/iom-recommends-replacing- cfs-with-seid/)</comment>


Cryptocurrency chaos as China cracks down on ICOs - <AUTHOR> http://www.reuters.com/article/us-china-finance-digital-ico-analysis/cryptocurrency-chaos-as-china-cracks-down-on-icos-idUSKCN1BN33R <comment><USER2> A more accurate description would be "cryptocurrency confusion among Chinese startups attempting to float ICOs". Exchange rates for BTC and ETH vs USD (or CNY, for that matter) have barely budged:

[https://www.tradingview.com/symbols/BTCUSD/](https://www.tradingview.com/symbols/BTCUSD/)

[https://www.tradingview.com/symbols/BTCCNY/](https://www.tradingview.com/symbols/BTCCNY/)

[https://www.tradingview.com/symbols/ETHUSD/](https://www.tradingview.com/symbols/ETHUSD/)

...at least in cryptocurrency terms, where a 10% rise/fall in a day happens regularly anyway and usually for no discernible reason.

<comment><USER3> Litecoin went from 90USD to 60USD.

<comment><USER4> It was ~80 dollars a week ago. At no point in the past week has it been near 90 dollars. It has hardly budged as a result of this news.

<comment><USER3> In any case, the news is definitely not making it go up.

[https://i.imgur.com/8V4grFt.png](https://i.imgur.com/8V4grFt.png)

</comment></comment></comment></comment><comment><USER5> Seems like terminology is what causes a bunch of the confusion.

Bitcoin is used synonymously with ICOs. Bitcoin vs. Ethereum and the ICOs that spawn from it are not the same.

Bitcoin is continually referred to as a currency...and it might be or become one but what it seems to be now is just another financial asset. That is, a thing that acts as a storehouse of value like any other tangible or intangible asset. Whether Bitcoin is a good or bad storehouse of value remains to be seen. But mixing terminology confuses the issue.

</comment><comment><USER6> Jamie Dimon is so clueless and is either lobbying for the interests of 2-nd tier accounting banks or the blockchain is accounting beyond his understanding.

</comment><comment><USER7> More interesting was a link at the bottom of the page to comments by Jamie Dimon, that bitcoin is essentially the e-tulip...

<comment><USER8> That much has always been obvious to anyone paying attention. It's not a currency. Currencies can either be deflationary or inflationary. Cryptocurrencies are inherently deflationary* which makes them bad currencies but perfect for speculative investment. That's the core of every cryptocurrency out there today. The utility as a currency is at best secondary, or even tertiary. It's only a matter of time until those bubbles burst.

Edit: fine, amend what I said to be "the vast majority of current cryptocurrencies with high market caps are deflationary". Most usage of cryptocurrencies today is in "investment", not monetary exchange.

<comment><USER9> > Cryptocurrencies are inherently deflationary

How so?

<comment><USER10> Eventually all the BTC will have been mined and no new BTC will ever be created again, unlike regular currencies in which the money supply can always rise alongside the expansion of the economy.

BTC will eventually become a fiscal straight jacket. It may take quite a while to take effect, but is inevitable and the more BTC become integrated into the economy, the more eventual pain it will cause down the line.

<comment><USER9> All cryptocurrencies are inherently deflationary because one example of an attempt at a cryptocurrency (BTC) is inherently deflationary?

<comment><USER10> All current attempts at cryptocurrencies, of which there are very, very many have been inherently deflationary. Can you point me to a single one either current or even planned that isn't? We are discussing the real world.

<comment><USER11> Both Ether and Monero are uncapped and deflationary. So 2 out of the top 10 at the moment. I didn't bother checking beyond that.</comment></comment></comment></comment></comment></comment></comment>


Google App Engine: Please add Javascript - <AUTHOR> http://code.google.com/p/googleappengine/issues/detail?id=35

<comment><USER2> [http://code.google.com/p/googleappengine/issues/detail?id=35...](http://code.google.com/p/googleappengine/issues/detail?id=35#c84) says it all:

 _Well said, I've been biting my tongue for ages on this particular thread. I would definitely encourage anyone who is thinking about commenting on this post to at least read back through the comments, see comment 46 for instance regarding appenginejs (<http://www.appenginejs.org>) and from my own investigation's I can confirm that ringojs (<http://ringojs.org/>) offers some great support for AppEngine right now:

<https://github.com/ringo/ringojs/tree/master/apps/appengine>

I'll write a blog post on how to make it all work at some stage, but it really isn't that hard.

Please stop commenting on this thread which is "please add Javascript" when really what you want is node.js and a V8 runtime. Scalable server side Javascript on AppEngine is available now, so get out and try it_

</comment><comment><USER3> This "bug" shows how annoying it must be for any poor Google engineer involved with a project with public bug tracking.

The request is "Please add Javascript". Responses range from people pointing out that you can put Javascript in the HTML output by AppEngine (!), to those pointing out the various ports of Rhino to AppEngine.

People use the bug tracking as a general discussion forum, and add nothing useful to it at all.

<comment><USER4> The public Android bug tracker on Google Code is far worse. I was looking at the issue for the SMS recipient problems, and it _thousands_ of comments ranging from "this needs to be fixed" (even though the issue status is already marked "Critical") to ASCII art of the Android robot...

</comment></comment><comment><USER5> ringojs works on GAE: <http://ringojs.org/wiki/Google_App_Engine/>

</comment><comment><USER6> please add ruby first :) <http://code.google.com/p/googleappengine/issues/detail?id=29>

<comment><USER7> You can use jRuby - <http://code.google.com/p/appengine-jruby/>

<comment><USER6> ya I know. the biggest problem seems to be C based gems</comment></comment></comment>


Ryzen Mini PC - <AUTHOR> https://youtu.be/Ycz6TXrP-W8 <comment><USER2> In this size and price range, the Asus PN50 seems to be the better option right now, especially since it supports more recent Renoir CPUs with up to 8 physical cores.</comment>


Any HNers in Yerevan? Let's meet - <AUTHOR>

I wonder if there are any HN readers from Yerevan, Armenia. Would be happy to meet some. <comment><USER2> I wish to join the author, but I want to know about readers from Crimea, Ukraine.

<comment><AUTHOR> I've been in Ukraine many times, but never in Crimea.

<comment><USER2> I start to think that we are alone here with you ;).

<comment><AUTHOR> Yep, that's true :)</comment></comment></comment></comment>


How we used open source to get beautiful custom maps - <AUTHOR> http://blog.jogofwar.com/how-we-used-open-source-to-get-beautiful-custom-maps

<comment><AUTHOR> OP here. Apologies for the fact that it's quite a lengthy write-up, but since we went through this we'd be glad to offer help to anyone who asks. The open source mapping world really is quite confusing at first, so maybe such an overview will be helpful to someone trying to wrap their head around the subject.</comment>