Thorn – Drive Tech Innovation to Fight Child Sexual Exploitation - <AUTHOR> https://www.wearethorn.org/ <comment><USER2> Seeing that Ashton Kutcher is a co-founder brought to mind his feud with the Village Voice a few years ago over the VV's escort ads, which Kutcher alleged were facilitating child prostitution and sex slavery. The VV then published a long investigative piece arguing that Kutcher's statistical claims -- e.g. that 100,000 to 300,000 U.S. children are sold into sex slavery each year -- was off by several orders of magnitude: [http://www.villagevoice.com/news/real-men-get-their-facts- st...](http://www.villagevoice.com/news/real-men-get-their-facts- straight-6431644)

And of course it should be said, VV, which was and is undergoing huge financial stress, has every incentive to believe its hands are clean, as it was desperate for the revenue from escort ads.

Hard to tell if Kutcher has revised his numbers. The Thorn site is vague about its numbers. It talks about hundreds of thousands of kids at risk, and on the about page, fuzzes the claim with "100,000 escort ad posted in the United States every day, and within these, there are ads that represent children."...the unsaid implication being that the number of escort ads per day may not have any real bearing on the actual number of children at risk.

It might seem pedantic to care about stats when children are at risk, but the purported goal of this Thorn initiative is to "use tech to fight child sexual exploitation", and its pages make as much mention about data science as the average tech startup press release. But worthwhile data science requires good data, not platitudes. It's not as if the fight against child abuse is as simple as throwing tech and computational resources at it, nor is that even necessarily the most efficient way to fight the problem.

<comment><USER3> I don't see scrutinizing apparently fictional "statistics" as an exercised in pedantry in the slightest. People who can't be bothered to as you say, find or generate good data and are content with bad data are not people you should trust with money, or important tasks. From a random celebrity like Kutcher, it's understandable and expected at least; if someone expects him to be rigorous they might be new to the planet.

News outlets and other users of that stat by contrast, have much more to answer for.

</comment></comment><comment><USER4> Has anyone here worked with them or have more color to add?

Some of the problems they mention I know are already being worked on by other organizations.

How do they work with the FBI and the NCMEC? Do they work with local law enforcement?

<comment><USER5> I have worked with them in the past.

One of the key things was that they managed to get every company in the tech task force to collaborate through things like shared hash databases; so if someone uploads child pornography to imgur, facebook or tumblr, they can all take advantage of the other's experience.

Then the tools they share with law enforcement allow them for instance to easily search personals posted around the web for dodgy ads, or search content in darknets.

My involvement was around a particular case in which we collaborated with an FBI special agent to try and catch a person who had posted images online abusing a very young child.

Due to the nature of the investigative process, we had to share more with them than they did with us. Not sure if we had a hand in it, but they told us that predator was arrested and the girl is now safe.

<comment><USER6> > Then the tools they share with law enforcement allow them for instance to > easily search personals posted around the web for dodgy ads, or search > content in darknets.

I wish organization like this would share the stats on how much traffic they generate when trawling "darknets", or at least talk with researchers who has tried to establish usage data on such networks.

</comment></comment></comment><comment><USER7> I can't speak to the stats, but I was once part of the team that developed Thorn's Spotlight software. LEOs who use it say it's been a serious game- changer in their efforts to get the children and their traffickers off the streets.

</comment><comment><USER8> Would be great to know more details about this as WhitneyLand already said. Like are there ways to contribute/join if you live in another country? Are they committed long term to do something or is this just PR? I don't have as much knowledge about the people as danso above.

<comment><USER9> If you're interested in getting involved you can fill out a survey here: [https://www.wearethorn.org/digital-defender- survey/](https://www.wearethorn.org/digital-defender-survey/)

I'm a software engineer at Thorn, and I can assure you this is not just PR. We are committed to helping children in both the short and long term.

<comment><USER8> Thanks for the reply! Filled out the survey. Although I mistook the 'what are you looking for' and only chose one option, because right after the 'ok' (or similar) button popped up and I went to the next thing.</comment></comment></comment>


Ask HN: If you could spend 1 hour with someone of your choice, who would it be? - <AUTHOR> Who would you pick for an hour chat? It could be anyone in the world. <comment><USER2> I can think of a few possibilities. Ricky Williams (former NFL RB) would be one. Also, Vince Neil (lead singer from Motley Crue). And maybe Warren Buffet. Or our very own pg.

</comment><comment><USER3> Some smart entrepreneurial-minded person with a track record. Preferably a one-man "lifestyle" business.

</comment><comment><USER4> Do they have to actually answer your questions?

</comment><comment><USER5> Oh, chat...

<comment><USER6> :) this thread isn't going to end well.....

</comment></comment><comment><USER7> Are brass knuckles provided?</comment>


What are some great "marketing strategies" for startups on a budget? - <AUTHOR>

After more than 12 months of development time, I've recently started a course/educational website and we're facing the egg and chicken problem:
Without courses, no students, without students, no teachers (who offer courses).
What are some effective (and maybe crazy) marketing ideas to get some traffic (from both sides) to the website?
We tried spreading flyers and scraping the web for school/teacher email addresses (email campaigns), but both ideas were not very effective without having 5 figures to spend on it.
Thanks for any input :)
PS: I live in Switzerland, which is quite small and only has a population of 7.x million people.. <comment><USER2> Business cards are an absolute. Moo.com has great "Lux" business card that will surely impress. Then visit every possible event and conference in your general area. These are usually fairly cheap to attend (if not free) and use that time to network and pass out your card(s). Event exhibit area will be key to just getting your name out. An actual booth isn't absolutely necessary and since you are on a budget it would be best to just walk around and share what you guys are doing.

Of course social media (Youtube, Facebook, Twitter..etc) is always a must with starting out. Create a Graphic and ask friends, family, and whoever you can to place it either on their Facebook banner area or on their timeline posts.

just a few examples ^</comment>


CUDA on Windows Subsystem for Linux 2 - T-A https://devblogs.nvidia.com/announcing-cuda-on-windows-subsystem-for-linux-2/ <comment><USER3> Having set this up, this is going to be absolutely huge for ML. A lot of nonsense is getting cut down by this:

1\. You don't have to install special CUDA-specific drivers that are behind the normal gaming drivers anymore. You'll soon be able to just use the Regular nVidia Drivers (and even now, all you need to do is install a Beta driver version). That's _huge_ for someone just starting out, they don't have to have "the dedicated CUDA machine / OS"

2\. At least in Arch, the Linux side of this is literally as simple as `yay -Sy python-tensorflow-cuda`, _that 's it_. Can't get any easier.

3\. VS Code's WSL integration means you can use a real editor, with real linting / auto-complete, but without the technical issues of Desktop Linux (aka the Wayland Nightmare and DPI issues everywhere)

<comment><USER4> > without the technical issues of Desktop Linux (aka the Wayland Nightmare)

Nobody is forced to use Wayland. It's still quite experimental, I think only Gnome enables it by default.

<comment><USER5> Xming on Windows isn't exactly a walk in the park either -- I'd still rather use the native, proprietary build of VSCode on a proprietary OS with the SSH extension if I'm on a high-DPI screen.

<comment><USER6> VSCode works just fine with hidpi on Linux. It's just an Electron app after all, and Chromium has had hidpi support since forever.

<comment><USER3> Many many many apps on Linux still have massive issues with DPI, especially with mixed-DPI environments (which are no longer an edge case, they're the Common Case with a laptop attached to a monitor).

Even accessing machines remotely via Xrdp has huge issues because once you create the session with a certain DPI, logging into the session from a different DPI machine means you're stuck reading either extremely tiny or extremely huge text

<comment><USER7> They are totally an edge case. If you care about hidpi why do you still have a bad external screen? If you don't care about hidpi simply set a lower resolution on the one hidpi screen.

<comment><USER8> Because that is a standard office configuration during the last 15 years, laptops with docking stations and external monitors.

More than enough time to catch up.

<comment><USER7> Yes, standard configuration where the laptop and the external monitor have about the same ppi.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Throwing out a random data point: Until now, NVIDIA has been very anti- virtualization (on the consumer side), going as far as to engineer its drivers to detect in-use virtualization (Hyper-V, Xen, QEMU, etc.) and fail on purpose [1]. I'm curious to see how they now handle this scenario (given WSLv2 runs in a virtual machine). Perhaps they just commented those checks out in their 'specialized' drivers, an interesting development for enterprising individuals looking to enable consumer GPU pass-through for general purpose virtual machines and containers.

[1] [https://github.com/riverar/Remove- HypervisorChecks](https://github.com/riverar/Remove-HypervisorChecks)

<comment><USER6> It's not GPU pass-through, it's paravirtualization.

<comment><USER10> Can you explain about paravirtualization?

<comment><USER11> Yes, instead of using a virtual GPU driver that simulates the behavior of a real device, a paravirtualized driver is a shim that connects a device in the virtualized operating system to a real device on the host.

In summary:

* Full virtualization is a complete, in-software implementation of a device. Early virtualization technology was typically of this nature.

* Paravirtualization typically requires cooperation between the host and the guest, with a special communication layer (in WSL2's case, provided by Hyper-V) between a guest device driver and a host driver.

There are at least two more method of passing a host device through to a VM.

* "GPU passthrough", "PCIe passthrough", or "VFIO passthrough" depending on the source, Microsoft bucks these all and calls this direct device assignment, or DDA. In this mode, the guest OS is given exclusive access to a device or a device hierarchy (defined by the layout of the motherboard itself). This uses the MMU and IOMMU of the host to allow a VM to run a native driver, e.g.: nvidia's CUDA driver, and it will see a real physical device. (Nvidia's driver has historically blocked this by detecting that other parts of the guest OS are virtualized, because from the driver's perspective the _device_ is a real, authentic Nvidia device, but the rest of the OS devices are virtualized and there are ways to detect that.)

* SR-IOV ([https://en.wikipedia.org/wiki/Single-root_input/output_virtu...](https://en.wikipedia.org/wiki/Single-root_input/output_virtualization)) is a PCI-express native method of splitting a device into virtual functions which can be mapped into a guest. I think the first real use for this was network adapters, which allowed VMs to get 10-40GBps network adapters working at native speeds by passing through virtual functions so that hardware offloading worked. Nvidia supports this on some of their server platforms, with GPUs offering up to 7 or 8 "virtual functions" which allows a single GPU to be partitioned and assigned to separate VMs. Once split up in this fashion though, I think it can be tricky to present the full device as a unified GPU.

<comment><USER10> Thank you so much for the through explanation.

</comment></comment></comment></comment></comment><comment><USER12> Pity. CUDA was/is proof positive that Linux on the desktop is perfectly feasible and that you can use it to both do a UI _and_ do meaningful computation on the same machine without getting tied down into all kinds of licensing schemes. Opening this further up to Windows gives fewer people a really good reason to try out Linux as their daily driver. I personally don't get why any developer would prefer Windows over Linux with its near infinite software repositories related to all things developers would like.

<comment><USER13> > I personally don't get why any developer would prefer Windows over Linux

Because windows now literally has all the stuff Linux has plus a lot more.

The only reason for a well paid developer to prefer linux over windows for a desktop OS is that you don't need any of the extra stuff (a decent desktop experience, hardware support and a commercial end user software eco system) or that you have some fundamental objections concerning Microsoft's business practices. These are good reasons, but experience shows that most people don't care enough about things like privacy to give up convenience or shiny things.

Apple may be in for a tough awakening. They profited enormously from providing the desktop OS that a very large fraction of the technical elite has been using for a long time. MacOS still is still smoother than windows in some regards, but the writing is on the wall: linux completely dominates the server but is as hopeless as ever as a general purpose desktop OS, but windows no longer sucks for software development. It used to be that macs had the unique selling point of offering a nice desktop experience on good hardware coupled with something close enough to linux that you could use it for a very wide range of software development tasks. But new hardware is developer hostile and macOS drifts further and further away from linux (ever more lock-down that directly breaks developer workflows and tooling and ever more diverging user land with a mix of ancient GNU and irrelevant BSD tooling). By contrast windows now includes an ultra-high-fidelity linux layer with excellent tooling and integration to "core" windows and Microsoft also owns the world's most popular editor and code hosting solution.

I'm amazed how well Microsoft has managed to find back to its embrace, extend, extinguish roots. It is both a technical and a strategic marvel.

<comment><USER14> I hope they stop at extend this time.

<comment><USER15> I think "extend" is a good safety buffer / canary in the coal mine, so I'd be happier if they stuck to "embrace".

<comment><USER16> Spoiler: they don't.

</comment></comment></comment></comment></comment><comment><USER17> I have the opposite setup: Linux is my primary os and I have windows on a separate ssd that I can either dual boot into or use in qemu from Linux. It gets used once a month or so. I don't game, so maybe I am the wrong demographic, but I don't miss anything from windows. All my document work (even right-to-left languages) works well on Linux, default Ubuntu gnome. I use two monitors, with different resolution. What am I missing? I spend my time in vim/cli, slack, github in Firefox, and email on thunderbird.

<comment><USER18> Last time I tried it, I installed Ubuntu 18.04LTS, updated, installed the recommended graphics driver, and then the machine would not boot after that.

I recently tried 20.04LTS on a laptop, with an external GPU over tb3 - <USER2> works! However, I really struggled to rectify the display density of my external 4k with the laptop's built in 1080p. I had other show stopper bugs, besides bad scaling, however. :(

What you're missing is the ability to open a game for a quick session while keeping your work open in the background.

What you're missing is that desktop linux is famously unpolished, and worse, brittle. There's a list of known(!) issues with desktop linux that some guy updates - currently it has over 100 entries.

What you're missing is your system continuing to work after major updates (Windows 10's relatively recent and rare "big oops" bugs aside lol). Personally, I use w10 pro with deferred feature updates to mitigate this, which is kinda messed up but there you go. I simply can't afford an update to knock my desktop out, which has happened to me a few times with desktop linux.

What you're missing is that "works for me" works for you, but not for me.

In case you're wondering why I keep trying desktop linux, it's because what I'm missing is an open, free, libre, privacy-respecting desktop. These are values I take seriously enough that I pay yearly estimated license fees to the open source components I use in the form of donations.

<comment><USER19> > What you're missing is the ability to open a game for a quick session while > keeping your work open in the background.

Absolutely possible with Wine or QEMU.

> What you're missing is that desktop linux is famously unpolished, and worse, > brittle

Correct, but arguably also true for Windows. There's no Linux distro that has had two settings panels for years. IMO the only polished OS is macOS.

<comment><USER20> IMO Linux desktop needs more than one settings panels. I always need to edit by gconf-editor or editing /etc/ __, ~ /.local/ __.

</comment></comment></comment></comment><comment><USER21> How long to start seeing advertisement like "Linux, best viewed on Windows".

<comment><USER22> Does kind of feel that way. Having a full Windows Desktop with good graphics drivers and software like Microsoft Office, Photoshop, commercial games etc. and Linux for the programming/server-software side of things.

I have literally no reason to dual-boot with Ubuntu anymore. WSL2 and Visual Studio Code fulfils all my Linux coding requirements.

Maybe (probably?) a bad thing but it's damn convenient.

<comment><USER23> Yeah I just started using Windows 10/WSL yesterday and I have to say I'm impressed. Are there any downsides/painpoints I should be aware of?

<comment><USER24> I/O performance is pretty horrific.

<comment><USER25> WSL 2 significantly increased I/O performance if you were wondering.

<comment><USER26> Across the VM/host barrier?

<comment><USER25> To some extent, yes. However, you will get the best performance (and improvement over WSL1) when working with files contained within the Linux file system.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> This is particularly impactful since macOS won't support CUDA drivers anymore.

<comment><USER28> Yep, as a long time hackintosher i'm definitely swapping now. Apple doesn't want GPU compute users, so it's not really worth fighting anymore.

<comment><USER27> It's such a ridiculous position they are taking

</comment></comment></comment><comment><USER29> This is BIG for machine learning adoption! 2 years ago it was a nightmare to setup everything on a Windows box, and wasn't working in any VMs (WSL or VirtualBox). Very excited about this.

<comment><USER30> This feels like it's gonna be _terrible_ for people already doing ML.

Now, the following has more than a bit of elitism, I'm aware of that, so please don't comment to point that bit out...

I'm afraid that searching for answers to specific ML questions will start feeling like trying to google some Windows problems (every few years when I make the mistake of trying to help someone out) where it's all "download this, then click here..."

I hope I'm wrong and this will only be used by people willing to go the extra mile...

<comment><USER31> Hope we don't see things like: "Google announces today that to work around Windows' file path length limitations, Tensorflow's directory structure is being rewritten to use three characters or less per directory."

<comment><USER32> I recently helped a friend with their museum's collection management software. The server and client were Windows based, and even with the proper dependencies and provisioning, the installs kept failing.

Some of the paths were too long and the installer could only be executed after being unpacked to root.

It's been a while since I more than casually gutted and used Windows as an app container, but I hadn't realized how much has remained the same after more than two decades.

<comment><USER33> Windows itself can deal with long paths for a long time now. The problem is the apps - they need to use newer APIs that don't e.g. deal with structs with wchar_t[MAX_PATH] fields in them. For apps written in higher-level languages, it's usually the standard library that needs to be updated - e.g. Node.js and Python already have such support. But if it's C++, then it depends on how much the app developer cares.

</comment></comment></comment></comment></comment><comment><USER34> This is pretty wild. The WSL2 upgrade really made the terminal way faster than the original WSL, so I'm curious how this runs. Looking forward to trying it!

<comment><USER35> I'd imagine pretty close to what it is native

</comment></comment><comment><USER36> My biggest concern for not trying it out right now is that the insider preview for windows is asking for all kinds of data permissions :(

<comment><USER37> Indeed. I'm not sure why WSL has consistently required some bleeding edge version of Windows to run. I remember trying to get on a managed desktop at work a couple of years ago and apparently the LTS version of Windows used in the enterprise is even farther behind.

</comment></comment><comment><USER38> Ironically, I'm super excited about this because I run a Mac. I didn't feel like changing anything in the bootloader using ReIT so I use an old laptop for Linux stuff. Mac + Bootcamp Windows + WSL2 + eGPU sounds like my dream machine.

</comment><comment><USER5> Previous discussion from when Microsoft sent patches to Linux upstream to enable this:

[https://news.ycombinator.com/item?id=23241040](https://news.ycombinator.com/item?id=23241040)

And related discussion on lkml with more context:

[https://lkml.org/lkml/2020/5/19/1139](https://lkml.org/lkml/2020/5/19/1139)

<comment><USER39> As usual, LWN has a great article on it that is much more approachable than raw LKML:

[https://lwn.net/Articles/821817/](https://lwn.net/Articles/821817/)

</comment></comment><comment><USER40> I'm getting the feeling that this is part of a longer term partnership where Microsoft acquires Nvidia, but for a weird reason: Azure cloud.

</comment><comment><USER41> This is finally the year of the Linux desktop. However, it is running on Windows as WSL.

With this support now for CUDA now, it can be argued that the best, most versatile developer experience is on Windows. You now have access to all the Windows specific tools (such as Visual Studio) as well as all the Linux tools in a very seamless environment.

<comment><USER42> Next step, Nvidia will support only WSL and not normal Linux? Good riddance, we need less blobs.

<comment><USER41> Actually, this might be a great price discriminator for NVidia. They have tried to differentiate their consumer and professional GPUs so they can charge different prices. I could see NVidia only providing WSL/Windows drivers for their consumer GPUs. If you want native Linux, then you would have to buy a professional GPU at higher cost.

By great, I mean great for NVidia, not for us.

<comment><USER42> I'd say it's going to be great for Linux, since usage of Nvidia will drop and progress will accelerate, because no one will have to deal with blob idiosyncrasies caused by Nvidia refusing to upstream their driver.

With Intel joining AMD on high end GPU scene with open drivers, it's Nvidia who will be the loser with their dinosaur blob approach.

<comment><USER43> As games are running both on AMD and NVIDIA GPUs, but CUDA is NVIDIA only (and supported by lots of languages and libraries), as a programmer I don't see how AMD could disrupt NVIDIA's developer friendliness/lock in (unless AMD provides a great CUDA implementation).

<comment><USER42> There is a need to move away from CUDA to begin with. It's an ugly solution since it's tied to Nvidia.

</comment></comment></comment></comment></comment></comment><comment><USER44> Can someone explain to me the WSL acornym? Isn't WSL really a Linux subsystem for Windows? tiny pet peeve

<comment><USER45> Yeah, it's very confusing. I've heard it explained but I still think it doesn't really make sense. The core of the argument that I've heard is that Windows has multiple subsystems so they say it's a "Windows Subsystem", but the 'for' in "For Linux" still makes no sense.

The arguments for not calling it something like "Linux Subsystem [for/on/in] Windows" don't seem to match up with the fact that there used to be a similar thing which was called "Microsoft POSIX Subsystem" also.

<comment><USER46> Windows Subsystem for (running) Linux (programs).

</comment></comment></comment><comment><USER47> Too bad you need wsl2, i hate running hyperv and the apps that dont play nice with it.

<comment><USER48> Which apps are broken for you? We've been working with VMware and Google to ensure their apps well with Hyper-V, but I know there are still some gaps.

<comment><USER49> The new release of VMware Workstation now works with Hyper-V as its hypervisor but a bunch of people (and I'm one of them) have experienced massive, unacceptable performance regressions for VM guests. I had to disable Hyper-V and hence stop using WSL2 until it's resolved. If the performance issues are intrinsic this will probably be a permanent showstopper for people who rely on VMware or Virtual Box. Hopefully this gets sorted out one way or another.

</comment></comment></comment><comment><USER50> What happens in Linux when the video driver crashes (restarts) in Windows?

</comment><comment><USER51> Seems like the one thing that I will miss from desktop Linux is i3

</comment><comment><USER52> This black screened my computer. I have been spending the last few hours trying to get it to boot up again.

FIXED: safe mode, reinstall latest nvidia driver.

</comment><comment><USER53> Wow, this is huge for data scientists! Now Apple is even more behind with ML after NVIDIA decided to drop macOS driver support.

</comment><comment><USER54> This looks very cool if it can deliver up to its promises! As a Mac user and ML developer I'm starting to look more and more jealous towards Windows - <USER2> is starting to make sense this way.

But I'm also a bit afraid. Has anything related to CUDA ever been easy to install and setup? Anyone who tried this have some pointers on this? For example, I don't know how many times I've googled the CUDA, cudnn, TF compatibility matrix but it must be close to 100. Is this helping fix that as well?

</comment><comment><USER55> I tried to set this up yesterday and spent 3 hours and still couldn't get it working.

</comment><comment><USER56> Docker containers will work with the GPU?

</comment><comment><USER57> wsl2 really is a game changer for people working on ml.

</comment><comment><USER42> CUDA proliferation. Not interesting.

</comment><comment><USER58> This is quite light on detail, have just installed, was thinking that nvcc would be installed to WSL2 as part of the process. It wasn't so did it via apt which worked fine. Built a sample (with some hacking of the SM versions which should be higher as I have an RTX) and when I run the basic Matrix mult demo get code=38(cudaErrorNoDevice) Anyone else had any luck?

<comment><USER58> Just done some more reading around and it seems most people are using docker in WSL to get things work! This seems overkill to me. I usually just write CUDA code in linux and use it. Am I missing something?

</comment></comment><comment><USER59> When you mention Microsoft + EEE, you get downvoted.

Well, they have so far: 1) embraced Linux. 2) extended it with proprietary functionality (Windows living outside WSL), and now what is next?

How is this not the same?

Of course, the MS employee will downvote me automatically, the VS code users will downvote me too, and I will lose 5 karma for saying the truth.

<comment><USER60> Next? They're trying to upstream it

<comment><USER61> Why would it matter if it's upstream? Upstreaming something like this is not really useful to anyone but Microsoft; it is still something that is inextricably tied to Windows and WSL.

The point is not "extinguishing" Linux per se, it's achieving enough lock-in that only Linux that Microsoft customers can use is WSL.

<comment><USER62> WSL is not a Linux. It is a Windows subsystem for running Linux userlands. (Almost as if the WSL name isn't totally nonsense!)

The "default" is Ubuntu. But Debian is supported, OpenSUSE is supported, Kali is supported. Unsupported but available, you can get Alpine, CentOS, Fedora, Arch, lots of distros.

<comment><USER60> That was WSL1, WSL2 is a micro-vm running the Linux kernel and whatever userland you want. Ubuntu is just the most advertised one, but all are equally unsupported by MSFT, support is provided by the distro "vendor"

<comment><USER62> By "supported" I mean "available in the Windows Store." I believe that those are submitted by the distro vendors themselves.

And from a lock-in perspective, the userland is all that matters, yeah? If an app runs on Ubuntu, whether it's WSL 2 or in Docker or in a a VM or on bare metal. If it's all the same, then it's not a Microsoft Linux, it's just Ubuntu. Or whatever Linux you want.

<comment><USER61> If it has to run on Hyper-V, then as far as Microsoft cares it's a Microsoft- extended Linux that they can make money from.</comment></comment></comment></comment></comment></comment></comment>


Show HN: Google Privacy Enhancer – "smoke bombs" your search history - <AUTHOR> https://github.com/aaronshaver/GooglePrivacyEnhancer

<comment><USER2>
      > Google Privacy Enhancer performs random searches at
      > random intervals while you are (optionally) logged into
      > your Google account. This "fuzzes" your search history,
      > making it difficult for Google [..] to gather
      > information about you.

I am reminded of the classic MIT AI koan:

      > In the days when Sussman was a novice, Minsky once came
      >   to him as he sat hacking at the PDP-6.
      > "What are you doing?", asked Minsky.
      > "I am training a randomly wired neural net to play
      >   Tic-Tac-Toe" Sussman replied.
      > "Why is the net wired randomly?", asked Minsky.
      > "I do not want it to have any preconceptions of how
      >   to play", Sussman said.
      > Minsky then shut his eyes.
      > "Why do you close your eyes?", Sussman asked his teacher.
      > "So that the room will be empty."
      > At that moment, Sussman was enlightened.

If you generate random searches, then all you're doing is causing the derived profile contain inaccurate data. You'll still see Adsense ads and Amazon recommendations, but now they'll be timeshares in somalia or horse dildoes instead of anything you might be interested in.

If you trust the search provider to not lie, then a better option is to use their history opt-out (e.g. Google's is at [https://history.google.com/history/](https://history.google.com/history/)). If you don't trust them, use Tor with either Incognito Mode (for Chrome and Chromium) or Private Browsing (for Firefox). The OP's link provides a false sense of security, which is worse than no security.

      > making it difficult for [..] other parties --
      > such as anyone monitoring your web traffic over the
      > wire -- to gather information about you

Google uses https, so if some third party has access to your search traffic then they've already solved a much more difficult problem than filtering out fake searches.

<comment><USER3> I agree with everything you said, but I don't think the OP's link provides a false sense of security. This is a direct quote from the link:

> _This doesn 't guarantee privacy or anonymity_, but it should frustrate the > efforts of those who would like to follow you, analyze you, and sell to you > on the web.

Also, this is not a tool for everyone who wants to stay private on the web. Only tech savvy people know what GitHub is and how to use a .py file and those people are already aware of what companies out there do to track you and how to stop them and which way is efficient or not.

<comment><USER2> It doesn't, though. There is no adversary who is capable of recording search traffic but is unable to categorize searches as automated/manual with high confidence. The script defends against a category of attacker that does not exist. If you walked away from reading that page thinking installing that script improves your security profile or obscures your search history, then it has given you a false sense of security.

<comment><USER3> Right, I'm not disagreeing with you. Google can certainly find out what you've actually searched for, which makes this tool useless. But that wasn't my point. This is not a website that you go to and tells you that if you click this one big red button, it'll trick Google into thinking you've searched for things you didn't actually care about. This is a python script. People who are capable of using this tool are tech savvy people who know what Google does to track you and what ways are efficient or not to stop them from doing so. And those people are probably not naive enough to think that using this tool alone would help your privacy. But just in case they are, the author left that note I quoted in my previous comment.

</comment></comment></comment></comment><comment><USER4> Reminds me of a similar tactic I implemented while coding a Pinterest spam bot during my old blackhat freelance days. Had to make it browse randomly, click on pins, repin with random comments like "Wow, this looks great|interesting|fun!", even click through to the actual sites. Then, repins/likes/shares seemed totally legitimate.

<comment><USER5> Charming.

<comment><USER6> i still believe, that most of tumblr users are spam bots, talking to each other.

</comment></comment></comment><comment><AUTHOR> This was my weekend hack project. I'd be interested in hearing what people think.

<comment><USER7> As a novice to this kind of programming, I enjoyed looking at the code. Thanks!

</comment></comment><comment><USER8> Isn't just turning off search history (google.com/history) sufficient? or just searching in an incognito tab? Also this might mess heuristics and you'll get worse results.

<comment><AUTHOR> Well, it depends how paranoid you are. Sites could still store history even if they say they don't. Like how people realized Facebook wasn't truly deleting your account when you asked for it.

But you make a good point about making search results worse. That's a real risk. It's the classic convenience vs. security/privacy trade off.

</comment></comment><comment><USER9> I see no mention of Google Sharing, which is interesting, cuz I have been using that for two or more years now. Just do not use the default googlesharing.net. The link says it is gone, but in fact is now corporately owned for what I imagine what the original intent was trying to prevent.

[https://addons.mozilla.org/en- US/firefox/addon/googlesharing...](https://addons.mozilla.org/en- US/firefox/addon/googlesharing/reviews/500575/)

It was originally a Moxie project, I would love if he said why he stopped pushing it. Maybe it is a drop in the bucket.

[http://www.thoughtcrime.org/software.html](http://www.thoughtcrime.org/software.html)

</comment><comment><USER10> Google deff pays more attention to not just what you search for, but also what you click on. A search (without an infobox thing) that is abandoned indicates to google you're not really that interested in that action...

</comment><comment> vezzy-fnord Information (noise) inundation is a very old tactic. TrackMeNot has been around since 2006 and does the same thing, over multiple search engines, and with various customizations: [https://addons.mozilla.org/en- US/firefox/addon/trackmenot/](https://addons.mozilla.org/en- US/firefox/addon/trackmenot/)

There's probably much older tools that do the same thing, as well.

Worth noting is that Schneier is critical of the efficacy of this approach: [https://www.schneier.com/blog/archives/2006/08/trackmenot_1....](https://www.schneier.com/blog/archives/2006/08/trackmenot_1.html)

<comment><AUTHOR> Thanks for the Schneier article! That's exactly the kind of feedback I was hoping to get from people on HN. He brings up some great points.

</comment></comment><comment><USER11> Any chance you could add interactive login and detect the use of 2FA?

Also, did you think about offering this as a service, using servers around the world to confuse Google even more? :-)

<comment><AUTHOR> Those are some good thoughts. Interactive login probably wouldn't be tough. 2FA is beyond my skills, though.

Interesting idea on using worldwide servers! You could likely rig something like that with Sauce Labs or other cloud-based Selenium testing services.

</comment></comment><comment><USER12> the idea behind it is generally an awesome one. the problem is that google will recognize the terms, the searches without a click on a result,... and it´s any easy one to identify such simple "smoke bombs" for google. Thousands of robots are searching for things on google(e.g. all ranking monitoring tools). I guess, but that is for sure just a guess, that google will be able to filter automated tools. If you make random clicks and maybe add your random wordlist... could be helpfull.

<comment><AUTHOR> My program does click on results on a random basis. It doesn't just search.

</comment></comment><comment><USER13> Reminds me of the Firefox addon, TrackMeNot, that does this. I stopped using it at some point over the years when it was causing some problem, but it was interesting.

</comment><comment><USER14> Love the concept and have been thinking there needs to be something out there for mobile devices for some time so quick, make an android app!

</comment><comment><USER15> could be fun if you _wantd_ Google (or whomever) to build a profile on you and replace the dictionary words with targeted kwds :)

<comment><USER16> Or you could attack someone's wordlist and have them flagged as a terrorist/pedophile...

</comment></comment><comment><USER17> Or just use DuckDuckGo ...

<comment><USER18> Exactly. Also use an email client for handling email, while using the browser with cookies self-destroyed[1] and google _not_ whitelisted.

[1] [http://www.technorms.com/26262/auto-delete-cookies- firefox-s...](http://www.technorms.com/26262/auto-delete-cookies-firefox- selfdestruct-cookies)</comment></comment>


Could Brain Training Prevent Dementia? - <AUTHOR> http://www.newyorker.com/tech/elements/could-brain-training-prevent-dementia <comment><USER2> I'll go ahead an invoke Betteridge's Law here - no, or at least not known at the moment.</comment>


HBO Now Pricing - <AUTHOR> http://order.hbonow.com/?camp=NowM1

<comment><USER2> $69 for an Apple TV and $15/mo for HBO Now (which will only be available on Apple products for an indeterminate amount of time).

</comment><comment><USER3> Thanks, but no thanks. Arm-twisting and carteling never works.

<comment><AUTHOR> I hope they will open it up to every device soon. History teaches that is the right path anyway</comment></comment>


Ask HN: What sites do you use to find contract work? - <AUTHOR> <comment><USER4> I used to do a lot of contract work. I can't tell you what you should do - <USER2> here is what i did and it worked for me

Two approaches:

1) Work for one large client and essentially become an employee (consider this. a lot of startups pay good money for remote employees)

2) Work for multiple clients

Focusing on #2 here

Core rule: You want to be paid premium for quality and service.

Avoid marketplaces - it's very hard to compete on quality here.

Niche - the more focused you are on a (profitable) niche the better you can charge premium for domain competence

As thibaut_barrere mentioned - Build a brand - i would even go further - create an agency like brand. At the point is stopped saying "I" but said "we" i was able to charge more.

Dont charge by the hour but by the value - most developers charge their time - you want to charge the value you provide to the client. Read up on "willingness to pay"

Most important: Deliver as promised and always try to over-deliver in service, quality, etc. Eg try to understand why the client asks for features and not only what features she/he asks for - you might be able to come up with better solutions or anticipate future requests. Any successful project should usually lead to improved reputation and more projects and clients.

Good luck!

<comment><USER5> _Don 't charge by the hour but by the value_

This sounds like a recipe for disaster to me without a lot more explanation. Time is the main cost to a provider, so it's very natural that time would also be the driver for billing. "Charging for value" sounds like you're trying to say "fixed price" without actually saying it. I have many, many issues with trying to do fixed price projects of any appreciable size (say, more than 20-40 hours).

What do you mean, precisely, by "charge by the value"?

<comment><USER6> A good example of "charging by value" is productized consulting - where it's a particular task, etc. that needs done for multiple customers.

Say you're really good with Postgres, instead of just hanging out a shingle for "any Postgres stuff?" you offer something like a one time $2500 "Postgres Performance Audit".

You get really good at this one thing, have a set bunch of scripts, very deep knowledge, predone report template, etc. and providing a bunch of value. So at the end of the day who cares that it only took you 5 hours (effectively making $500/hr).

Bunch of examples: [http://www.christophengelhardt.com/ultimate-badass-list- of-p...](http://www.christophengelhardt.com/ultimate-badass-list-of- productized-consulting-services/)

<comment><USER7> Except that you are making your services a commodity. A large part of what makes my services valuable is that I can't approach every situation with a pre-fab script and report.

<comment><USER8> No it's a commodity if it's non-differentiated from others. You can still have non-commoditized work that operates at scaled efficiency. You just have to have something that makes you better or different.

</comment></comment></comment></comment></comment><comment><USER9> Personal networks.

I came into Syracuse knowing nobody and nothing.

I had never done any app making as of January 2015. I had done some wordpress stuff, but just the basics.

And I had (and have) no CS degree.

I now make a living on contract work. I did it by going to local meetups and introducing myself as a freelance web developer. Nevermind that I hadn't done freelance web development ever. I kept going to meetups for month and still attend a monthly hacker meetup. I participated in hackathons without really knowing how to program.

But all along the way I met people more experienced than I am and picked up two clients along the way. I think one thing that I do differently to most is that I charge a high rate (I always quote $150/hr). I am willing to negotiate lower than that but its a starting point. I have been paid that in the past for less complicated work like hiring developers and being a project manager.

What am I saying? Your questions is what sites to use? Just one: meetup.com

<comment><USER10> I want to add a bit to your comment - it's important to try and identify the kind of meetups you'd like to attend that will help you meet your desired customer base, and the kinds that will help you get known in your local community (ie: meetups for web devs to connect).

I find that meetups can sometimes become circle-jerks for people in a similar field to just get together and talk/humblebrag. Which is fine, but if that's not your goal you need to look at different meetups which serve that goal.

<comment><USER9> Good point.

Some meetups I went to were the exact circle-jerk/humblebragfests you're talking about.

The one I consistently go to (shameless plug [OpenHack Syracuse]([http://www.openhacksyr.com](http://www.openhacksyr.com)) is a monthly meetup for developers to talk about what projects they're working on and to spend time together working on projects, ideas, and sharing info. It's really just an organized hangout/hack session. And it's these types of meetups which are best for getting contract work (because contract work isn't the goal)

<comment><USER11> Interesting... I'll stop by the next one (I'm from the FM area).

<comment><USER9> Cool! They're the second Tuesday of every month, as it says on the site. And they're at 6PM at CoWorks.

</comment></comment></comment></comment></comment><comment><USER12> HN - [http://hnhiring.me/](http://hnhiring.me/)

Remote OK - [https://remoteok.io/](https://remoteok.io/)

Stack Overflow - [https://careers.stackoverflow.com/jobs?allowsremote=True](https://careers.stackoverflow.com/jobs?allowsremote=True)

LiquidTalent - [http://www.liquidtalent.com/](http://www.liquidtalent.com/)

Working Not Working - [http://workingnotworking.com](http://workingnotworking.com)

Hired - [https://hired.com/contract-jobs](https://hired.com/contract-jobs)

Gigster - [https://gigster.com/](https://gigster.com/)

Mirror - [http://mirrorplacement.com/](http://mirrorplacement.com/)

Metova - [http://metova.com/](http://metova.com/)

Mokriya - [http://mokriya.com/](http://mokriya.com/)

HappyFunCorp - [http://happyfuncorp.com](http://happyfuncorp.com)

Savvy Apps - [http://savvyapps.com/](http://savvyapps.com/)

Clevertech - [http://www.clevertech.biz/](http://www.clevertech.biz/)

Workstate - [http://www.workstate.com/](http://www.workstate.com/)

AngelList - [https://angel.co/jobs](https://angel.co/jobs)

I know you're just asking for sites and not approaches to finding contract work, but getting in with a very promising early stage company through contract-to-hire [that allows remote] is probably the most sustainable way to go.

Doing one contract project after another at an hourly rate just doesn't scale well financially and finding a next decent client can be like pulling teeth.

<comment><USER13> Thanks for the list! I will use it to extract angularjs jobs only, for my own job board, [https://github.com/victorantos/AngJobs/issues/34](https://github.com/victorantos/AngJobs/issues/34)

</comment></comment><comment><USER14> I've been contracting, consulting & freelancing for the last 10 years (5 years completely remote). My advice is to avoid "searching contract work", but reverse the situation completely: make your new clients find you instead. I wrote about this in depth here: [https://www.wisecashhq.com/blog/how-to-have- clients-find-you...](https://www.wisecashhq.com/blog/how-to-have-clients-find- you-rather-than-you-chasing-them).

Sites /can/ work (I know people who make a good living off certain sites), but nothing will beat self-managed marketing on the long run.

Feel free to email me (see profile) if you have specific questions.

Good luck!

<comment><USER15> Your blog and twitter feed are very helpful. I was doing part time consulting, mostly web-related, for a number of years. Getting myself focused in this new phase of life has been challenging. You are clearly focused in your online presence. Clear "Hire Me" call to actions among other things, too. Time for me to do them. Thanks!

</comment></comment><comment><USER16> I posted this article on medium the other day that contains all the advice I've compiled after 8 years of freelancing as a software developer: [https://medium.com/@marknutter/advice-for-the-freelance- deve...](https://medium.com/@marknutter/advice-for-the-freelance- developer-68b63c69b050)

In short, to answer your question, I never used any sites to find contract work. I got all my leads through face-to-face interaction with real humans in the real world, and a good deal of it came from word-of-mouth because of exceeding my clients' expectations.

Contracting sites marginalize developers and the type of clients who troll them are typically the kind who will try to squeeze as much work out of developers for as little money as they can. On top of that, developers are generally a pretty introverted crowd, so the number of introverted and talented developers who troll those sites looking for work is far greater than the number of outgoing, personable developers in your local area. Which group do you want to compete against?

</comment><comment><USER17> Welcome to HN! You'll find that this was asked previously:

[https://news.ycombinator.com/item?id=8908279](https://news.ycombinator.com/item?id=8908279)

<comment><USER18> Good find, thanks for sharing that link.

It's interesting that the other thread was 364 days ago, which would have been exactly this same Monday last year (ie: the beginning of the third week of Jan.)

<comment><USER19> Blue Monday, the most depressing day of the year.

</comment></comment></comment><comment><USER20> I have a different approach to finding contract work, particularly as I don't have much work experience. Upwork and similar websites have not worked well for me.

Instead, I browse job boards and when I find an interesting role I contact the company. If they are interested in my background and the fit is right, I sell them on setting up a contract relationship instead of full-time employee. Sometimes it works, other times it doesn't. The important part is being honest that you are looking to work as a contractor, not an employee.

Job boards to consider: AngelList, WeWorkRemotely etc. If you're looking for a list of job boards ([http://nodesk.co](http://nodesk.co) has lots and so does this article by teleport [http://teleport.org/2015/03/best-sites-for-remote- jobs/](http://teleport.org/2015/03/best-sites-for-remote-jobs/))

</comment><comment><USER21> The one thing I always tell anyone on the job hunt (which in your case is finding contract work), which few ever seem to take me up on: Informational Interviews.

These are informal "Can I take you out to coffee?" talks with people in your industry to see what they are working on, what is happening with them, what is going on in the industry. Every job I have ever gotten is through informal meetings with people I have met through my network (whether its your old job, your friends, parents, relatives, or other).

At the end of every one I ask: "Is there anyone else you think I should talk to?" and "Do you currently have any opportunities at your company for me?". Rinse repeat. I guarantee that after investing in 30 informational interviews you will find work.

<comment><USER22> I just don't see how I could call someone I've never met and ask them out for a coffee. It sounds so strange it just "doesn't compute".

<comment> eric-hu I've been on the receiving end of these. I'm usually happy to oblige unless the other person sets of some major red flag. I don't find them strange, though I'm usually doing it for friends of friends or acquaintances.

</comment></comment></comment><comment><USER23> I would avoid sites like Upwork (aka: odesk), elance, and anything similar like the plague unless working for less than minimum wage and dealing with morons is your idea of good contract work.

I suspect the secret to contract work success lies in having really good networking skills and a Rolodex of contacts from having worked in a given industry and having a reputation as someone who delivers. If you don't have that then you would probably have better luck finding reasonable work by going to meetups or similar industry events to build a network of professional contacts. The only way I know of to do this online is to become a notable contributor to prominent open source projects and then use that to leverage paid work.

<comment><USER24> I disagree. I love Upwork, and I pay my contractors well. What Upwork provides me with is an incredible ability to keep payments maintained and work honest. There's a sense of honesty when using the oDesk application, where both parties can say, "we feel confident that parties will get paid, and work can be reviewed."

Neither my contractors nor I would want to move to any other platform because no other platform provides that kind of honesty and confidence between Contractor and Employee.

<comment><USER23> Would you be willing to share with us the average $/hr rate you pay your Upwork employees? I'd be willing to bet it is quite low.

As an employer I can totally see why you would love it, it's an effective way to pay bottom dollar for simplistic computer tasks.

From the stand point of someone looking to get into software engineer contract work it's lame. The guaranteed payment thing you are talking about is only for projects that are billed hourly. If you bid on a flat rate project there is no such guarantee. The hourly pay rate guarantee also requires you to install a spyware app on your computer to monitor your work.

<comment><USER25> I use upwork to sub-out work that I don't have time to tackle or for tasks that I lack expertise in. Once I've found someone on the platform that is really talented at what they do, I return to them for subsequent projects that need their skillset. The challenge on that platform is finding the people that stand out since there are so many low-bar contributors.

Examples of work that I use it for are simple html/css stuff that just needs to get knocked out prior to integration into an app. I'll pay between $300-500 from some straight forward design to html/css conversion. I want it to be worth their while.

Also, I've use it frequently for GIS work. I'm just not proficient in it and would rather pay someone that is. I managed to find an incredible person on upwork and give him the specs for each project before I quote my customers. He sets the price for the GIS components and I routinely encourage him to charge more.

So to be clear, I don't use upwork to find a deal on the project (no doubt a ton of people do). I use it because it is a platform that can keep talented people busy and available for the next time I need to rely on them. I'd hire a full time GIS expert if I had steady work for the, but I don't so going with a subcontract makes a lot more sense.

<comment><USER26> > since there are so many low-bar contributors.

That's because there are so many low-bar employers.

Many of whom are also hanging out places like HN, complaining that there are no good developers while praising anything which drives down wages.

To know why there are few good developers, look no further than the market price. It doesn't justify top effort. I could sweat blood competing on price and throughput with people who have a cost of living that is a small fraction of mine, hoping against reason that someone will spontaneously give me a raise out of the goodness of their hearts. Or... not.

Most of the people who would eat your projects for breakfast don't want to be worked like pizza delivery drivers, delivering as cheap and fast as possible and hoping for tips. So they aren't on these sites. These sites are where careers go to die.

<comment><USER25> I think we're on the same page. I don't use the platform to get work for myself, but I don't think it's a completely useless platform. That's all I was trying to convey.

It has its place and I do my part to make sure that the qualified people that I hire on it are well compensated with clear expectations and no need to hope for tips. Maybe I'm doing them a disservice by offering a glimpse of sunlight on a platform that otherwise stacks the cards against them. You have me wondering.

I 100% agree with you that it's mostly a crap shoot of competing with people that have a cost of living that is so utterly different that ours that it's impossible to make a living. But I do think there are some niche skills where this is not the case and people with a high cost of living can still thrive on the platform.

</comment></comment></comment></comment></comment></comment><comment><USER27> I recently made it through the Toptal ([http://www.toptal.com](http://www.toptal.com)) screening process but haven't taken on any work through their site yet, the hourly rate that you can ask there seems to be quite reasonable though compared to sites like upwork.com, where you will mostly compete with people that are willing to work for 10 $ / hour (which for someone living in a developed country is just not possible).

For Germany, Gulp (www.gulp.de) is a very good site where you can actually find clients that are willing to pay a reasonable hourly rate (they even have a rate calculator on their site).

<comment><USER28> Do you think having accounts at Gulp (and XING?) would help for a person outside Germany (and non-German speaker)? Are [prospective] clients on those sites interested in remote consultants?

<comment><USER27> it depends, most gigs are on-site but there are exceptions.

</comment></comment></comment><comment><USER29> What's the context? Which country are you in? What are your skills?

If you're in the UK...

I've been contracting about 3 years now and started it the simple (and probably dumb) way - stick a resume up on jobsite.co.uk, wait for agents to call. Lots will. Be nice to them on the phone but be firm about what rates and locations you're willing to work. You'll get lots of useless ones who haven't even bothered to read it, but no matter, you'll learn to filter them out pretty quickly. Remember the good ones. Rinse, repeat.

I've had two contracts now through reputation, which is quite nice, but getting contracts from previous workmates isn't a panacea. One of them was the most boring thing I've ever done in my life (worse than shelf-stacking in a warehouse) and I quit after three weeks because I was literally unable to complete the work it was so dull. I told the client that I was poor value for money and a recent graduate would be a better choice. The other one was good though!

Also, make sure you're prepared for some time off between contracts, it's pretty much going to happen.

<comment><USER30> I'd be interested to hear how you made the jump to contracting? I find myself wanting to make the jump from my permanent job (in London) but being anxious about whether or not it's the right time to do so, if my skill set (sysadmin/devops) as it stands will provide value to clients, if I have the right mix of personal qualities to make a success out of it, etc.

<comment><USER29> Bloody-mindedness mostly.

I worked permanently for various companies in and around London for about 10 years, then got sick of London, moved to Australia, did a couple more years permanent work there, then decided to move back to the UK. At that point I was sick of being an employee and had a vague offer from a friend to help bootstrap a startup, which fell through. So in lieu of having an idea to start up a company myself I decided I was going to be a contractor, set myself up a limited company and started throwing my CV at anyone that asked. I have got most of my contracts through agencies that called me, not through contacts.

Making the leap can be tricky - if you have a notice period longer than one month you may have to quit your current job and then look for contracts afterwards. A lot of people want contractors to start _now_. You may not find one for a month or more, I've had dry patches lasting a couple of months before, and it might be another month after you start before you can invoice, and it could be another month again before you get paid, so you need a financial cushion.

As soon as you get your first contract you'll need an accountant. These come in at about £100 per month. I use Nixon Williams, this is not necessarily a recommendation, they deal with hundreds of contractors, the service is streamlined but pretty basic and if you need anything out of the ordinary they probably won't do it.

Errr.... time of year may have an effect, like a lot of things it seems to be easier to find work in the first few months of the year, though I have had two start in November/December.

Anything else you want to know?

<comment><USER31> What's the work like? Is it mostly legacy code or are you creating new projects from scratch? What's the usual contract length? I'm really interested in contracting this year and I see a lot of 3 month contracts for my stack, I'd prefer to do a 1 month contract to test the water first. Do you feel you have enough time to connect with the employees, etc?

<comment><USER29> I'm a bit of a dinosaur in some ways, my main saleable skill is C, with some C++11 thrown in and various other bits and pieces.

The work varies. I've been brought in as a 'resource' little different to an employee by a few places, tinkering at the edges of long-established products and having to take technical direction from senior staff, with little to no input to designs myself.

OTOH in other places I have been brought in during the very early phases of product development, and even more or less taken ownership of direction for entire products. These companies also tended to treat me more like the consultant I'm trying to portray myself as. You can probably guess I prefer these ones :)

Contracts have varied from 1 year (with no exit clause, regretting signing that one but it's over next week!) down to 2-months, but then that was renewed on a monthly basis several times. Mostly due to hysterically over-optimistic delivery estimates by the guy running the project...

I've made some connection with the employees pretty much everywhere, and have been in contact with a few since the end of contract, sometimes they've even been enquiring whether I'm free for a stint at some new place they've moved on to.

</comment></comment></comment></comment></comment><comment><USER32> Anyone, currently looking for a remote front-end developer? I am full-stack developer (tending towards front-end nowadays), I live in Lagos, Nigeria and looking for remote work. I have a strong Javascript(NodeJS, AngularJs) background with over 3yrs experience.

Portfolio: [http://goo.gl/OmEpz8](http://goo.gl/OmEpz8)

Git: [https://goo.gl/oYbi8F](https://goo.gl/oYbi8F)

some side projects I have done:

[http://goo.gl/TGRSWg](http://goo.gl/TGRSWg)

[http://goo.gl/kHcn5M](http://goo.gl/kHcn5M)

[http://goo.gl/eUPozF](http://goo.gl/eUPozF)

[http://goo.gl/6orP0y](http://goo.gl/6orP0y)

Have done more complex stuff but requires user to login.

<comment><USER33> looked at your projects, cool stuff.

</comment></comment><comment><USER34> For those who are London based, I recently launched a mailing list for members of the London Hacker News Meetup, which sends out contracts based on your language preference. It's averaging about 10 jobs a month at the moment however I am working on getting it to about 100 pm by the end of the year. The current sign up page is at [http://eepurl.com/byq7Af](http://eepurl.com/byq7Af)

<comment><USER35> No C# or C++ on signup page language list?

<comment><USER29> Nor C, unfortunately. The list seems a little more narrowly targeted than I had anticipated.

<comment><USER35> Yeah, seems very web dev centric.

</comment></comment></comment></comment><comment><USER36> A lot of people are saying job websites don't work. I don't agree with them.

I've been consulting over a year (US-based, near NYC) and I've found plenty of very good clients (small and large) through freelancing websites.

Few loose guidelines I've used to help me with applying to gigs:

1) Evaluate if you think the person understands the value of the work, and only reply if you can somewhat-confidently answer "yes."

2) Reply to gigs that say "$5" or some other crazy low number, as long as they seem competent at explaining their project.

3) ALWAYS follow up with your past clients! Ask them for new work regularly.

<comment><USER37> Can you elaborate on #2 ?, are you saying that starting a good relation is more important?

<comment><USER36> Of course! There are two aspects to this.

First, you obviously cannot work for $5 unless you're located in a low-income country. They are putting it up for $5, because they don't know how much it costs. However, you have to be careful to make sure they are competent so you're not ending up with a client who does not value your time.

Second, getting a job for $1,000 (when maybe it's really a $1,500 job) with the possibility of future work is better than not getting that job at all, in most circumstances.

</comment></comment></comment><comment><USER38> I've never used a website. Reach out to everyone you know. Buy them a coffee, mention you are getting into contracting, ask who else you should talk to, thank them, repeat.

<comment><USER39> Have you ever just reached out to someone you don't know this way and had success? Cold calling or knocking on doors? I haven't been in a position to have this need but this whole comment thread made me think about doing it the "old-fashioned" way, rather than browsing the web meat/meet markets.

<comment><USER38> I've never reached out to someone I've never met but I've reached out to a lot of people that I met _super_ briefly. It let me go "remember me?" in an email I sent and it breaks the tension. People are surprisingly willing to help.

I found that it wasn't the first degree connections that led to work but the second degree connections. Get your immediate network to introduce you to others and drum up work from them.

<comment><USER40> Not sure if you're aware of it, but this is a well-studied phenomenon. Check out Mark Granovetter's seminal paper "The Strengrth of Weak Ties" [0] [1], it's pretty interesting reading.

[0] [http://www.jstor.org/stable/2776392?seq=1#page_scan_tab_cont...](http://www.jstor.org/stable/2776392?seq=1#page_scan_tab_contents)

[1] [https://en.wikipedia.org/wiki/Mark_Granovetter](https://en.wikipedia.org/wiki/Mark_Granovetter)

</comment></comment></comment></comment><comment><USER41> I get my clients primarily through gigster ([http://www.gigster.com](http://www.gigster.com)), referrals, and my website.

<comment><USER42> I'm having issues with Gigster. I did the first interview and passed. The subsequent follow ups (4 already!) have all been either postponed, interviewer no shows (yes really), or setup with the wrong interviewer.

I understand there are growing pains, but not one of my emails have been responded to regarding this issue.

<comment><USER41> Yeah that's unfortunate... They are growing very quickly in terms on onboarding devs right now. They're also putting a lot of effort into building better tooling for interviewing / onboarding. I fortunately jumped on before the growth really got crazy.

</comment></comment></comment><comment><USER43> Depends on how I'm feeling. If I'm not looking for very interesting work or I'm saving for travel, I have a few large clients (5000+ employees) that always have projects going. They are the bread and butter of my contract work and I'm known across pretty much all of the IT senior management at those companies.

If I'm looking for more cutting edge, interesting work I'll go out and find either a company, industry or project I'm interested in and try and insert myself into it somehow. Usually through meetups, over coffee or in one case just showing up (probably wouldn't recommend that, depends on the people - <USER3> my case it was 4.30PM on a Friday and I brought beer).

Usually I'll either do it gratis (if it's non-profit or public domain) or cut my rates if I'm learning on-the-job.

When I started pretty much all of my job offers and contracts came by word of mouth. I only had to kick down doors a few times before I had developed a reputation as a good worker. This involved cold-emailing, calling and meeting people at various industry events.

</comment><comment><USER44> Some people at HN will tell you the opposite but I find two of my best clients at Upwork.

I didn't bid to low quality jobs and once I finish my job I offer them an maintenance contract outside upwork.

<comment><USER45> When I hire through Upwork, I ignore all the low hourly rate freelancers. I use a high hourly price as my first requirement.

Few years ago, this worked quite well, but now there are some idiots that charge a high price for low quality work just to try to take advantage of people like me. So, now it takes some more time to filter through, but still works pretty well.

<comment><USER46> What do you consider a high hourly rate. Last time I looked, I didn't see anything above $50 an hour.

<comment><USER45> Are you kidding me? There are lots of high hourly workers. I consider $40/hour as minimum, generally $65/hour or higher is where the line starts to separate between pros and average freelancers. I've seen as high as $150/hour.

</comment></comment></comment></comment><comment><USER47> I like to go to places like upwork or elance and seek out people in the US with low rep that haven't done a lot of jobs. A lot of times those people are ones for big companies that are stuck in a situation that need a quick hack put together. Do a good job and you get put on their 'list' for future use.

</comment><comment><USER48> Does anyone have good place to look for contract work in field of UX & Product design? I'm UX designer currently living in Prague, looking for remote work (and I'm open to relocate). My portfolio: [http://podorsky.cz/](http://podorsky.cz/)

</comment><comment><USER49> A bit of tangent but some advice needed. So I've been contracting out a bit on UpWork - used all the bahavioral hacks in the book: using "we" etc... It's worked amazing for getting clients. Not bad at sales. I've got one client now -- a hedge fund -- that's being very stingy. We agree on a fixed price for a particular scope/milestone, the release is shipped, but they come back and say "this is great, but we need this one additional feature or this whole release is worthless." Usually I, I mean "we", oblige. But it's getting ridiculous. What do we do? Play hardball and say no shipment until payment? Or just ditch the client. The day rate is plummeting mind you, closing in on free. Total contract size in the low XXks.

<comment><USER50> Is it worth to you to keep this client? What are the advantages?

<comment><USER49> They baited "us" with a long term relationship. They have a ton of cash so it seemed rational to take a hit on the effective day rate. So ostensibly they are like perfect for this but the amount they are willing to pay for the type of milestones is pretty low. Like it hurts them.

<comment><USER50> They don't sound like the kind of client I would like to deal with. I would recommend trying to find better customers and then ditching this one.

</comment></comment></comment></comment><comment><USER51> I tackle this sideways by going to Meetup or Eventbrite. Specifically I go to meetups and events that potential buyers go to and let them know what I do (I don't try to sell my services on first contact). It takes some pruning but after a while my preferred clients are the ones I keep in contact with and we start working. I get less work through this than just by referral though.

Depending on your living situation and time available I'd recommend trying to establish your own identity so you don't have to go through a marketplace for contract work. Instead you'll have the contract work come to you and not filtered through a middleman that would take a cut out of your work. I would never recommend someone go through fiverr, Upwork or these other marketplaces unless they were just moonlighting.

</comment><comment><USER52> HN who's hiring threads, exclusively

update: I post my pitch in the freelancer thread and potential clients contact me, for example [https://news.ycombinator.com/item?id=9998249](https://news.ycombinator.com/item?id=9998249)

<comment><USER53> Have you had success replying to those posts and asking 'Would you consider a freelancer for this position?' or how do you go about it since these threads seem to implicitly indicate that they're looking for employees?

<comment><USER52> I definitely don't do that. I posted once in the who-wants-to-be-hired thread, but I don't do that anymore, because I had one guy get really angry once he realized I didn't want to be his employee, he accused me of bait-and-switching him to outsourced development (LOL). I was open to perm/ft work at the time for the right fit (which this guy wasn't), but his response was so visceral that I decided it was just a bad form to post there knowing for 95% of inquiries there was no chance of me going perm and that for the longshot 5% i would probably find them through another channel.

</comment></comment></comment><comment><USER54> One thing that I think is valuable when looking for contracting work (what I call consulting) is to learn how people that have been highly successful in consulting built their business. Checkout episodes 4 (Marcus Zarra) and 5 (Michael Fellows) of Consult: [http://consultpodcast.com](http://consultpodcast.com)

or

[https://itunes.apple.com/us/podcast/consult/id1018251429?mt=...](https://itunes.apple.com/us/podcast/consult/id1018251429?mt=2#_=_)

</comment><comment><USER55> I've had good success hiring developers for short-term project work through [https://gun.io](https://gun.io).

<comment><USER26> Good luck getting paid on gun.io, if the buyer just decides they want the work for free then they can take it and wander off. Gun.io doesn't care because who is bringing them money?

<comment><USER56> Is this a hypothetical, or are you speaking from experience?

</comment></comment></comment><comment><USER57> I'd like a way, similar to the first of month feature (where employment possibilities are posted on HN) where you could post requirements for a software project and get responses from the hacker news community (or at least links to either relevant profiles or reputable hackers as suggestions).

Edit: I mean on HN similar to the first of month feature not a site (I know these are out there obviously).

</comment><comment><USER58> Wrote about this recently: [http://www.gkogan.co/blog/how-i-learned-to-get- consulting-le...](http://www.gkogan.co/blog/how-i-learned-to-get-consulting- leads/)

The gist of it is, as many here are saying: Don't use marketplace sites. Instead show off your knowledge in a way that gets attention of potential customers, then they'll come to you.

</comment><comment><USER59> I've done this by reaching out to friends and old work colleagues to see what they're up to and offering to help. Because it's people you know it is much easier to make arrangements you will both be happy with. After 15 years working in software that turns out to be quite a lot of people, especially if you take the time to regularly reach out to people via LinkedIn etc.

</comment><comment><USER60> Tip: Have an Indeed.com resume verbose with your areas of expertise. Build a project using Parse.com or the Twitter API? Put that in there. As an employer, one of my more successful methods is to search for specific skill sets that a project may require, then reach out to a small handful of developers who hit on those searches with a pitch to why -new project- is exciting.

</comment><comment><USER13> If you are looking for frontend contracts, in particular - angularjs,

I would recommend [http://AngJobs.com](http://AngJobs.com)

disclaimer: I run AngJobs, [https://github.com/victorantos/AngJobs](https://github.com/victorantos/AngJobs)

</comment><comment><USER61> LinkedIn.

I send a LinkedIn message to some of my contacts I'd like to work with, telling them it's been a while and that I'd like to get in touch, and offer them to take a cup of coffee with them this week.

During the meeting, tell them about your freelance status and that you're looking for work.

Good luck!

</comment><comment><USER62> I'm fairly new to consulting (been doing it for almost a year now). I'm on my second gig right now, and both of them are through Toptal. For the first one, a recruiter reached out to me with a gig, the second one I got thanks to an article I wrote in their blog.

</comment><comment><USER63> Anybody knows of (good) sites for remote server (Linux esp.) contract work (sysadmin/devops/optimization/security/reliability)? if there are none, anybody interested in one?

</comment><comment><USER64> My way was working at several successful startups, and _then_ going into contracting. So I had contacts at every level of Silicon Valley. Might not work for everybody.

</comment><comment><USER65> I've been contracting/consulting for a couple of years now. Most my contracts have come through referrals (of friends) and sometimes recruiters. However, I was able to start my contracting career thanks to a contract that came through Toptal. This allowed me to quit my job and do this full-time.

Here's my list of resources that I would be looking at if I needed to start looking for a contract immediately:

Boards:

\- Authentic Jobs: [http://www.authenticjobs.com/](http://www.authenticjobs.com/)

\- StackOverflow Careers: [http://careers.stackoverflow.com/jobs?type=contract&allowsre...](http://careers.stackoverflow.com/jobs?type=contract&allowsremote=true)

\- We Work Remotely: [https://weworkremotely.com/jobs/search?term=contract](https://weworkremotely.com/jobs/search?term=contract)

\- Angelist: [https://angel.co/jobs](https://angel.co/jobs)

\- Github Jobs: [https://jobs.github.com/](https://jobs.github.com/)

\- Hired: [https://hired.com/contract-jobs](https://hired.com/contract-jobs)

Networks:

\- Toptal: [https://www.toptal.com/](https://www.toptal.com/) (I'm a member of Toptal's network)

\- Gigster: [https://www.trygigster.com/](https://www.trygigster.com/) (haven't used it yet)

\- Crew: [https://crew.co/](https://crew.co/) (haven't used it yet)

Offline ideas:

\- Approach companies at Meetups

\- Meetups, meetups, meetups

\- Pitch on forums

\- Work with contract agencies

\- Become a subcontractor

It also helps to work on branding yourself, blogging, and integrating into communities (like HN!). Generally, just becoming an authority on a topic and allowing people get to know you before they work with you helps a lot. Kind of like patio11 has done for himself around here. Then people start coming to you instead of the other way around.

I would also highly recommend looking at DevChat TV's Freelance podcasts for ideas, they're really great: [https://devchat.tv/freelancers](https://devchat.tv/freelancers)

</comment><comment><USER66> For those who do contract work, what is your policy on code-reuse between clients?

<comment><USER56> It depends on my arrangement with a client. Work-for-hire contracts make reuse impossible, and so I tend to price higher, whereas a perpetual, transferable, etc. license to the code I work on has a better chance of being useful down the line and so I may knock a couple bucks off.

<comment><USER66> My thought was to develop a library for code re-use among clients. It would cover common problems/features. In your experience, do many contract workers have such a thing?

<comment><USER67> I dunno about others, but I sure do! I have CSS stylesheets in 7 colour themes, a dozen bootstrap-like JS plugins that add common interactive elements I can drop into any site, and tons of parts and pieces of layouts (like an order form, signup form, pricing chart, or media player) isolated and ready to re-use.

I also maintain a big snippets file, filled with HTML, CSS, JS, and command- line snippets and tricks so I can grab them from anywhere.

I dont know how any freelancer or contractor doesnt have a bag of tricks like this.

<comment><USER66> How do you incorporate this re-use into your contracts?

<comment><USER68> You could explicitly retain the copyrights on your code. Actually that is the default so in general it's not actually necessary.

</comment></comment></comment></comment></comment></comment><comment><USER69> Fiverr ([https://www.fiverr.com/](https://www.fiverr.com/)), tasks usually take less than an hour and give me enough revenue to pay domains and hosting for my pet projects.

<comment><USER9> Hey thats a really good idea! How long does it take to get started with that? Do you find a long lead time from signing up to building a reputation to getting a lot of gigs?

<comment><USER69> Depending in the gigs you offer your experience may differ, I do python/perl/sh scripts and sysop tasks and after a month I started receiving enough gigs a month (5-8) to pay my digital bills.

I think logo designers, web developers and translators get a lot more traffic. I just recently was upgraded to 1st level seller after 3 months, so I think it's relatively fast.

</comment></comment></comment><comment><USER70> Which country? ;)</comment>


Cat Bites Are Linked To Depression - <AUTHOR> http://www.popsci.com/article/science/cat-bites-are-linked-depression

<comment><USER2> Here we go again -- a likely meaningless correlation that someone tries to make persuasive with the word "linked".

Proposal: in popular science writing, automatically replace the word "linked" with "rumored".

<comment><USER3> Cats have already been linked via toxo to mental changes, so it's not quite as bad as the usual research.

(I wonder how much it'd cost to randomly assign cats to volunteers? Pay for their food and vet bills and there'd probably be a lot of takers.)</comment></comment>