Macedonia and Greece: Vote settles 27-year name dispute - <AUTHOR> https://www.bbc.com/news/world-europe-47002865 <comment><USER2> EU is open to accessions because eastern countries will be forced to accept refugees, it's all about the numbers here and we all missing the point. Truth is "Macedonian" citizens have nothing to do with the actual ancient Greek history, they're just a bunch of some Slavs came from north, changed their name from FYROM to Macedonia. Greeks on the other hand think that "Macedonians" are trying to start a territorial dispute in the next few years and reclaim a Greek region also called Macedonia and that's one of the the main reason they protesting these days. There's also an organized territorial propaganda from FYROM but in the end it's just a small country without strong allies. I don't know why Greeks are so paranoid, both contries should be cooperating peacefuly without so much hate.

<comment><USER3> > I don't know why Greeks are so paranoid

I think during the Greek Civil War the National Liberation Front which was composed of Macedonian Slavic minorities waged a war of secession in Macedonia. If I remember correctly I read allegations that even after the civil war the National Front based in Yugoslavia would kidnap and impress young men from Greek Macedonia.

They aren't remembered fondly by Greeks.

<comment><USER2> Nah, that was basically some kind of a communistic conversion that didn't have enough impact on Greeks. Civil war was actually a proxy war between Russia and UK/USA, countries that participated and helped the Greek communist party were Russian puppets.</comment></comment></comment>


Ask HN: Job application season for college grad with prior work experience - <AUTHOR> Hi HN,
I'm currently a college student and I'll be completing my master's program in May of 2018. Before starting the program, I have 2 years of full-time experience working as a software engineer, plus close to 2 years of co-op experience while I was completing my undergrad.
I know a lot of my classmates are already looking and applying for new-grad or junior positions at various tech companies. My question is that, for someone in my position, should I go down the same path and apply to new-grad openings now just like the others, or should I shoot for mid-level/experienced positions? If the latter, when is it a good time to start reaching out to employers and recruiters if I won't be able to start until the summer of 2018.
Thanks. <comment><USER2> In my opinion - Shoot as high as you feel reasonable. Do you feel competent enough to work at a mid-level position? If so, apply to those positions. Often times job postings are "over posted" to weed out people who feel themselves underneath the job. If a posting asks for 5 years of experience, most companies would be happy with 1-2 years of quality, proven experience.

As for timing, I would say it's never too early to start networking. Get your feet wet with recruiters, make yourself known to companies. You might not necessarily want to go through a complete application process, but now is definitely the time to start researching and talking.

<comment><AUTHOR> thanks for the advice, appreciated.

As for reaching out to recruiters, while I can definitely ask some friends for referrals, do you mind sharing the best way to reach out to companies that I have no connections to?

<comment><USER2> LinkedIn would be my first choice for this.

Follow company pages, look at company employee lists and reach out to HR people with (a more professionally written version of) what you've written here.

I wouldn't use exactly the following, but along the lines of... "Good morning/afternoon <name>, I am an <descriptor> studying <field> at <school>, with experience in <stuff> and a strong knowledge of <other stuff>. In preparation of my graduation, I'm reaching out to potential employers to expand my network and, ideally, find a position which suits me at a company where I can use my skills, expertise, and knowledge of <field>. Your company interests me because of <stuff>, and I would love to further discuss what your company is in need of.

Looking forward to hearing back from you,

Regards, <name>"

Depending on the responses, you may be able to eek out some additional networking contacts by following up with something along the lines of... (in the case that the company is not hiring, or not interested)

"Thank-you for the swift reply <name>,

I appreciate the time you've taken to read and reply to my previous message.

It is regretful that you are not hiring, but I am thankful for your candid response. With your permission, I would like to follow up with you in a few months time on the chance that a position opens up.

With how tight-knit the <field> community is, I was hoping you may be able to introduce me to another <company, person, etc.> which may be looking for an up-and-coming <desired job position>.

Regards, <name>".

Keep in mind, this is spitballing with no context and may not be appropriate in all circumstances or with all companies.</comment></comment></comment>


Ring hackers reportedly watching and talking to strangers via in-home cameras - <AUTHOR> https://www.theguardian.com/technology/2019/dec/13/ring-hackers-reportedly-watching-talking-strangers-in-home-cameras <comment><USER2> Why do companies in this IOT space just not require 2FA by default? Yes phone numbers can be stolen, and using a phone number is not -perfect- second factor. However these stories keep coming up and I cant help but think in each case that someone has secured their account with the password password123.</comment>


Show HN: HN Casino – Get lucky and find the best HN content from the past - <AUTHOR> http://www.hackernewscasino.com/ <comment><USER2> It's not very clear if the upvote/downvote is for karma in HN or it's only for the internal point system in your site. I'm not sure if it's better to fix the redaction or to choose another word happy/unhappy face, lucky/unlucky, ¿great/meh?.

Are you planning to use this points to add some weight to the PRNG or they are only for the "more popular" list?

</comment><comment><USER3> One spin, one acerbic comment. Damn my luck.</comment>


Coding for gang members - <AUTHOR> http://patrickmclenithan.com/2013/08/22/helping-your-fellow-man/

<comment><AUTHOR> I really am just curious if anyone has got a solution to educate kids who normally wouldn't receive an education with computers at all. High School Counselor Logic (in California): if (Mexican) { schedule({shop: true, math: true, esl: true, APEuroHistory: false } ); }

</comment><comment><USER2> Requires significantly more _bling_

<comment><AUTHOR> explain "bling"... Lame post? my first one...</comment></comment>


Ask HN: How to not lose yourself in perfectionism creating a developer profile? - <AUTHOR>

I guess I'm doing what most people did before the rise of blogs, github and social media. Stuff whatever I wrote in some folder, have code rot on some hard drive and receive mail to my yahoo address ending in four numbers and just hope the interviewer solely relies on employment history.
That doesn't fly these days. Maybe I'm taking everything too serious, but leaving some kind of mark on the internet seems so complicated and doesn't allow for experimentation. Everything is connected somehow and often it's impossible to change things you're not so happy about.
I did a lot of commits and bug reports with throwaway accounts and mails. Contributing things anonymous is still a good thing, but somehow feels wrong and doesn't add anything to how people perceive my skill or character.
Here's one chain of thought:
"I should really put my code online. I set the maila dress in my git repository to "<>" but I can still change that now, but not later. Well I can't use firstname.lastname@example.com but every good name is already in use, so what to do? Maybe I should get a domain first. Damn, every good name is already in use. But I can't commit now because people might end up relying on my commit history or even fork it before I can change it, if I ever come up with something better. Forget about that first, what about my writings? Static pages on github are cheap, oh wait we run into the same problem. And what if we ever move to our own webspace, urls will be doomed! Well, could get some webspace, need a domain anyway. hundred cups of coffee later that domain sounds dumb, that one's taken... Think of a user name instead. That's what people might end up calling you and you need one on github. Damn that's even harder! Screw the whole thing, I'd rather write more code."
I don't know whether I end up as the artist who's parents find a lot of paintings in the attic after his dead and finds universal praise, or the one who's work just end up in the trash can. But that whole attic thing will definitely happen. It sounds crazy in a way.
Has anyone else had that problem, or still has? What to do? <comment><USER2> And then once you have your domain name, there's the cycle of, "Okay, what should I put here? Static HTML pages? A blog? Blogs seem like the most popular way of publishing on the web today, but I really don't think the blog format fits what I want to write, but would people actually come to my site if it's not a blog, and who is my target audience anyway? And..."

The point being, there are lots of cycles we as creators can get sucked into. I don't know that the answers to these questions don't matter at all, but it's easy to think they matter a lot, and try to answer them perfectly rather than making real progress.

</comment><comment><USER3> OP describes me perfectly!

I like to make a different screen name on each online service I use, and be sure as much as I can that they aren't connected to each other or to my real identity.

For me, it started with growing up when the Internet was still new, and with all the Bad Things everyone was saying would happen because minors were on the Internet (the law that makes every visitor to every US website swear they're at least 13 years old was passed in this time frame). It sort of became ingrained that I should be sure not to use my real name for anything online.</comment>


You'll Never Be Famous – And That's O.K - <AUTHOR> https://www.nytimes.com/2017/09/04/opinion/middlemarch-college-fame.html <comment><AUTHOR> What is HN's thoughts about this? Would you agree that our purpose lies in helping those around us?</comment>


What's New in Bash/WSL and Windows Console - <AUTHOR> https://blogs.msdn.microsoft.com/commandline/2017/04/11/windows-10-creators-update-whats-new-in-bashwsl-windows-console/ <comment><USER2> Windows Console folk: any chance of tabs in the official terminal?

Current Windows terminal options:

\- ConEmu: mainly excellent but a little dated - eg, the active tab color is hard to distinguish but it can't be changed, apparently due to maintainer's insistence it works on Windows XP.

\- Hyper: excellent but Ctrl C, Ctrl R etc broken in powershell.

Adding tabs to the Windows console makes more sense than have a third party create an entire console just to support tabs.

<comment><USER2> __Edit __for folks having trouble understanding: the post you 're replying to literally mentions two of the best tabbed terminals for Windows. That's not the problem.

A fast, inbuilt, 2017-era terminal is.

\- ConEmu has a UI that's a shotgun blast of shit.

\- Hyper still fails at basic shortcuts.

\- ConEmu plus other software still has a UI that's a shotgun blast of shit.

\- Some person's half maintained fork of putty is some person's half maintained fork of putty and we already have Windows openssh for SSH purposes.

\- A proprietary app you need to pay for is a proprietary app you need to pay for.

\- tmux is not a tabbed terminal.

\- Something that uses cygwin is something using cygwin.

The post is requesting a clean tabbed terminal, included in Windows, and maintained full time by Microsoft employees (whether Open Source or proprietary).

Edit: removed 'fully featured' as someone below thinks that means I want all the bullshit the other terminals add, rather than tabs, working escape sequences, and other __terminal __features.

<comment><USER3> Out of curiosity, what tabbed terminals on other platforms would you consider to be significantly better than ConEmu/Hyper? (I've never actually used any GUI platform other than Windows for any length of time, so I would be interested in seeing what other people do use.)

<comment><USER4> Apple Terminal, iTerm, gnome-terminal, konsole. I can't really name one worse than ConEmu.

ConEmu likes to do this cute thing where it stops accepting key presses. And with the all the options it has, "starting a new terminal in the directory of the previous" is nowhere to be found.

But still, it's probably the best on Windows if you want tabs.

<comment><USER5> To be fair to ConEmu, Cmder, Hyper, and all the other Windows terminals/consoles, we don't currently provide a way for them to truly become genuine consoles.

We're working to fix that, but we have to clean things up a little first. Bear with us.

</comment></comment></comment></comment></comment><comment><USER6> The inotify implementation looks very promising! Editing source files in a Windows-native IDE and having changes picked up by, say, node.js is a great workflow.

I'm yet to try it out, but I wonder if the problems with editing files in the linux filesystem[0] is going to be an issue with this?

[0]: [https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-n...](https://blogs.msdn.microsoft.com/commandline/2016/11/17/do- not-change-linux-files-using-windows-apps-and-tools/)

<comment><USER7> It's all fine if the files you're sharing are in the Windows filesystem. If they're in the Linux filesystem the same restrictions still apply.

</comment></comment><comment><USER8> So what is the end game with WSL? What is it that MS is actually trying to do?

I remember the NT POSIX subsystem, which was a bit of a joke. It was badly limited and just seemed to be a box ticking exercise to get past some government requirements (disclaimer: I don't actually know if that's true). Whatever the reason, we ended up having to port our POSIX software to NT because customers insisted it was POSIX complient. I did resent MS for the mess we got into.

I do believe MS has changed. They don't seem to be the conniving organisation they once were, but what does WSL bring to Windows?

Perhaps, they are just accepting that there is something inevitable about all that Linux software that is available out there, and Linux developers could now be supporting Windows with no actual effort. After all Apple have saved themselves a load of effort by using Netbsd. However, something makes me wary. Could we be looking at an attempt to replace the Linux kernal on the servers of the world?

<comment><USER9> They want you not to install Linux, but keep using Windows. That way, apart from using their OS, you may end up using the rest of Microsoft software: Edge, Office, Outlook, OneDrive, etc. That wouldn't happen if you used Ubuntu.

What I don't understand is why Canonical thought that shrinking their user base would be good for their business.

<comment><USER10> This increases their user base. Every time you install WSL & Bash on Ubuntu on Windows, you are getting a full Ubuntu distribution.

The only user base that shrinks is the Linux Kernel user base; Ubuntu and Linux are two separate concepts, and WSL demonstrates that they are in fact fully separable.

<comment><USER9> Well, I always thought Ubuntu was "Linux for human beings". It seems it's now "Bash for Windows users".

I don't think this business model will last much longer, though ;-)

</comment></comment></comment></comment><comment><USER11> Hats off to Rich, Russ, and the entire WSL team at Microsoft. Another excellent release. Your work here bringing Ubuntu and the open source world to the Windows ecosystem makes us very, VERY proud!

<comment><USER11> And an extra personal thank you for making Byobu work so well!

<comment><USER12> Thanks <3

</comment></comment></comment><comment><USER13> I have switched to WSL pretty exactly a month ago after using solely Ubuntu for about 6 years. So far it works like a charm. The only small problem i have had was the network interface problem with nodejs (which should be solved with the new WSL). But that can be circumvented by simply running node.exe instead. The reason for the switch was: windows in great for everything UI, bash is great for everything development.

<comment><USER13> Edit: Just updated to Ubunut 16.04 and as promised by MS all my node network problems are gone.

</comment></comment><comment><USER14> WOW. cmd can actually parse escape codes now AND run Linux scripts! What a time to be alive.

I've been using WSL for the last year now on my Surface Pro 4, and it has been nothing short of fantastic. This bridges a HUGE gap that made the MacBook attractive.

<comment><USER15> cmd has nothing to do with it. Just as bash has nothing to do with parsing terminal escape sequences. It's a shell. On Unix-likes a terminal or ~ emulator will handle those escape sequences, on Windows it's the console (provided by conhost). What program you run in the console (or terminal) is completely irrelevant.

<comment><USER16> Isn't cmd.exe the Windows terminal emulator?

<comment><USER15> No, conhost.exe is (since Vista, prior to that it was a part of csrss). cmd.exe is simply the default command-line shell. To disprove your guess here, you can just observe the processes existing when running console applications. There's one conhost for each console window, but unless you run cmd, there'll be no cmd instances.

Windows didn't have a terminal emulator until recently anyway, as Windows console applications use the console APIs to change cursor position, color, etc. instead of having that API as part of the text stream that's output by applications.

<comment><USER17> > Windows didn't have a terminal emulator until recently anyway,

Well, actually....Hyperterminal :)

[http://imgur.com/ukBjD7F](http://imgur.com/ukBjD7F)

/gets coat.

<comment><USER15> Oh, fair point. I forgot about that. But it was never intended to be used with local console application ;-) (and ANSI.SYS goes back even further, I guess).

</comment></comment></comment></comment></comment></comment><comment><USER18> Symlinks!

Windows has always been such a pain in the ass with regard to symlinks (my revision control workflow for big projects spread across multiple repos always includes symlinks). So, this is cool.

</comment><comment><USER19> Ok, this is awesome, if everything works as advertised.

I have been mostly a Linux user for quite some time - at least on my own computer, clients always have Windows. But this year I bought a Surface Pro as a secondary device.

I first evaluated WSL and really liked it, but I switched to Hyper+Git Bash because networking in node.js was not working properly, and because I could not start Windows programs from the command line.

Now, if both problems are really fixed now, I guess I will switch back to WSL, and maybe uninstall Hyper+Git Bash later (given that I do not find any other show stoppers)...

<comment><USER20> I recently tried starting Windows CLI programs from within bash and it worked just fine, but you have to specify the entire filename, like "./notepad.exe".

<comment><USER21> This is usually because, by default on many Linux flavours, the current directory is not included in your path environment variable.

<comment><USER22> This is generally the case in all Unix shells. See, for instance, [https://superuser.com/questions/156582/why-is-not-in-the- pat...](https://superuser.com/questions/156582/why-is-not-in-the-path-by- default).

</comment></comment></comment></comment><comment><USER23> This is brilliant. I might actually consider switching to Windows now. Both Arch and macOS have been getting on my nerves lately.

<comment><USER24> Switching from Arch (linux) to emulated linux (ubuntu) under Windows makes lot of sense. :-)

<comment><USER25> On my laptop, bash on windows gives me better battery life and working sleep/wake, compared to "real" Ubuntu.

</comment></comment></comment><comment><USER24> >Upgrade In-Place ...though this may not result in an optimal instance.

Wondering why such a disclaimer? Ubuntu apt upgrades are reliable. Or is it related to WSL? Anyway good job WSL team.

<comment><USER26> I've definitely had issues doing an upgrade on a real Ubuntu installation. Years ago I needed to update a more or less clean install of Ubuntu Desktop. It managed to completely break Gnome somehow (This was before Unity). I'm guessing things are better now and that the server distribution is better for this but I could see complications happening.

<comment><USER27> I used Ubuntu Server LTS a couple of times.

The 14.04 version which is supported until 2019 still has the bug that it won't clear out old kernels after upgrading them. So if you don't look into your /boot partition now and then it fills up and breaks your installation.

<comment><USER28> Can you link to a bug report? dist-upgrade (as opposed to upgrade) should remove the old packages;that's its whole point...

<comment><USER29> Xe could hyperlink you to Dustin Kirkland's call for feedback here on Hacker News only a short while ago, where this subject came up several times. This is a well-known Ubuntu problem, and M. Kirkland xyrself said that taking purge- old-kernels out of the byobu package and putting it somewhere more obvious was a good idea.

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

Of course, this is an Ubuntu upgrade problem relating to _Linux_. It is specifically about kernel image files. So it has very little application to the Windows NT Linux Subsystem, which as we know uses the Windows NT kernel.

</comment></comment></comment></comment></comment><comment><USER30> Windows Console question here! :)

Are there any plans to support GNU Readline shortcuts such as history searching with Ctrl-R directly in the Windows Console?

I'm mostly using WSL to run the PostgreSQL CLI with the standard keyboard behavior. It would be nice to be able to do that without having to install WSL.

<comment><USER12> I would say that's not very high on our backlog. That sounds like something that we'd need to implement directly in cmd.exe (the shell), not conhost.exe (the terminal) and changing cmd's behavior is VERY HARD to do without somehow breaking the world.

<comment><USER29> Actually, command line editing and history recall for such programs _is_ in the console. That's where the actual mechanism of DOSKEY lives. That's where history recall lives, governed by SetConsoleHistoryInfo().

One can of course write command interpreters that have their own editing systems, rather than use the one provided by the console. JP Software has done this for many years.

* [https://jpsoft.com/help/index.htm?cmdhist.htm](https://jpsoft.com/help/index.htm?cmdhist.htm)

But tofflos is asking about improving the one that is in the console.

</comment></comment></comment><comment><USER31> Why on that ping screenshot RTT to 127.0.0.1 is >2ms?

<comment><USER32> Don't know, probably some VM testing on their part but I just upgraded to Creators Update and here's my result:

rtt min/avg/max/mdev = 0.098/0.109/0.131/0.012 ms

</comment></comment><comment><USER33> Please disable file notified hooks for files in WSL. One of the big reasons why I prefer to work on linux in office like environments is because Symantec etc heavily hook file IO on windows making things like compilation / checkout very slow compared to linux. When WSL came out I was hoping it would sidestep the slow hooked IO problem in windows but some investigation revealed that file modified / created hooks are still triggered for files in WSL. Any change of this being removed?

<comment><USER34> The problem is the antivirus software, not the kernel features that the AV software is using. I can't imagine that MS would cripple their OS just so that someone who mostly uses WSL can bypass the AV software that their sadistic IT people force them to use. The only solution there is to just not take jobs where someone can force you to use such machines.

<comment><USER33> Try creating a lot of small files, even microsofts own antivirus (which seems to be the most light weight of the anti virus alternatives) adds significant overhead. I know its not a simple problem, but since most large repos contain a lot of small files this does create a negative "workstation os" image for windows in my mind.

</comment></comment></comment><comment><USER35> But did they fix ctrl-space? [1]

As an emacs user, this single issue has been the show-stopper that prevented me from investing in bash on windows, even though I would like to.

[1] [https://superuser.com/questions/1088250/windows-10-linux- bas...](https://superuser.com/questions/1088250/windows-10-linux-bash-shell- ctrlspace-doesnt-set-mark-in-emacs)

<comment><USER36> This looks like it has been fixed [1]

[1] [https://github.com/Microsoft/BashOnWindows/issues/583](https://github.com/Microsoft/BashOnWindows/issues/583)

<comment><USER35> Thanks!

</comment></comment></comment><comment><USER37> For me Microsoft has realized that their profit on cloud (where Linux is dominant) can be significantly higher then licensing Windows, so they are pushing for a better Linux experience on the user desktop and we will see in a couple of years the Microsoft Linux Server (maybe they will buy Cannonical for that ?).

</comment><comment><USER38> > In Windows 10 Creators Update, you can now launch Windows apps & tools from > within Bash …

Can anyone verify if this means you can run the Docker for Windows _client_ (the docker and docker-compose executables, not the engine) from within WSL, including from shell scripts?

If so, I can't wait to try it out, since that's about the last thing preventing me from using my usual Linux/MacOS dev workflow in Windows!

Unfortunately I'm running an Enterprise version of Windows, and the upgrade tool doesn't support Enterprise yet, so I'll probably have to wait for it to come through Windows Update.

</comment><comment><USER39> Any news on getting Python autocomplete within VSC pointed at a virtualenv on WSL?

</comment><comment><USER40> Only thing I wish they could do is make calling Linux programs from Windows a bit more natural. Yeah "bash -c" works, but it's not exactly ideal.

<comment><USER41> I made a small project back when WSL was new to help tackle this, called Slinky: [https://github.com/cpdt/slinky/](https://github.com/cpdt/slinky/)

It allows you to run a command in the Windows prompt to 'link' a Linux command to a Windows one, allowing you to run the Windows command to run the Linux command (if that makes sense; the GIF in the Readme is probably better at explaining).

It's written in Bash and Batch so doesn't require external dependencies.

</comment></comment><comment><USER42> Does that mean I can change the font without editing the registry now?

Now that there is 24-bit color, is there actually a reasonable way to change the colorscheme, or are you still stuck with the same UI?

As far as I can tell, this is the first major overhaul of CMD. Full stop. We've been waiting.

</comment><comment><USER43> Still not any option to hide that ugly scrollbar and having unlimited buffer ? (like Gnome-Terminal)

<comment><USER44> The windows terminal is utter garbage compared to linux ones, but to be fair the linux ones have had rather longer to hone their products. Hopefully the Microsoft guys will keep on improving!

</comment></comment><comment><USER15> Wasn't mouse support in the console for decades as well? At least it has worked in Far for ages. Or is just the integration with Linux console applications new?

<comment><USER45> The console only recently (<2 years I think) learned to speak ANSI/xterm-ish escapes, Linux mouse support requires quite a few of those and doubtlessly the model differs sufficiently from however the NT console API mouse worked to require effort to support

</comment></comment><comment><USER46> Though it says it's for developers, hopefully eventually it would be easier to turn on so anyone can easily run command line Linux programs?

</comment><comment><USER47> As usual lovely to see headway on this. With the networking improvements I'm hoping mosh will be supported natively. Excited to try this out.

</comment><comment><USER48> I used the "Remove & replace" method and it installed 14.04 again :/

<comment><USER49> You must have Windows Insider build to currently download 16.04. See details in the comments section of the blog post: [https://blogs.msdn.microsoft.com/commandline/2016/10/19/wsl-...](https://blogs.msdn.microsoft.com/commandline/2016/10/19/wsl- adds-ubuntu-16-04-xenial-support/)

<comment><USER50> You can obtain the Creators Update with the latest WSL without joining the insider program, just run the Creators Update assistant: [https://www.microsoft.com/en-us/software- download/windows10?...](https://www.microsoft.com/en-us/software- download/windows10?tduid=\(9f4b2325f691db7c6ca018ed952a3844\)\(266696\)\(1503186\)\(44681X1528610X5b7967738258cb386b1aa2edf4662757\)\(\))

</comment></comment></comment><comment><USER51> I just run VcXsrv and launch gnome terminal. Works fine.

</comment><comment><USER52> This is great! Congrats to the team for delivering a great update!

</comment><comment><USER53> Anyone tried deploying a linux program on windows via WSL?

<comment><USER54> I'm actually working on a deployment now. Though it's from OSX (so BSD?) to Windows via WSL. So far so good.

</comment></comment><comment><USER55> The interop opens up new possibilities.

</comment><comment><USER56> Cygwin works great.

</comment><comment><USER57> This is truly amazing. GG Microsoft.

</comment><comment><USER58> Bash for Windows... Bash is a Unix shell. Linux is an operating system. Completely different concepts.

Bash on Windows has existed for decades now, through Cygwin. [https://cygwin.com/cgi-bin2/package- cat.cgi?file=x86_64%2Fba...](https://cygwin.com/cgi-bin2/package- cat.cgi?file=x86_64%2Fbash%2Fbash-4.4.11-2)

Trying to reduce the entire GNU/Linux ecosystem to "Bash" is insulting to the community you are trying to appeal to:

Linux is an immensely large and complex project, which has millions of lines of code. The GNU part of GNU/Linux has a couple of more millions of lines of code as well. Bash is small in comparison.

<comment><USER59> Your entry point to WSL is bash and while you may be able to compile and install other shells, calling it "bash" isn't too far from the truth.

Really the awkwardness of the naming is more of a testament to the power of scripting on Unix-like OSs (eg how scripting is a first class citizen and how most of the ecosystem is modelled around CLI, and thus scripting, support) more than it is an insult.

As for cygwin, that was simply terrible. MinGW was better but WSL is already better than both and it's still a long way from feature parity.

Of course some MS haters will always find a way to fault this, and i can sympathise with that point too because I've been burnt my MS too and thus, as much as i found WSL to be a much needed addition to Windows, I'm still going to stick with Linux as my primary OS. However personal biases of Windows aside, even i have to admit that WSL is a pretty good feature.

<comment><USER58> EDIT: Your choice of shell can be something different than bash... you opt to use zsh or fish or another shell. Therefore saying "Bash for Windows" can be objectively said to be unnecessarily confusing/inaccurate.

I think Cygwin was less convenient than an ABI such as WSL, but by no means "terrible". Cygwin was initially released around 1995, it served a valuable purpose before the first VM products came along.

<comment><USER60> >EDIT: Your choice of shell can be something different than >bash...

Bash is the default shell. It's also the generic command you run to launch the WSL environment.

While the multiple names for the same subsystem are a little nebulous, Bash is far from being as confusing or misleading as you're attempting to portray.

Also, editing your original snide grammar dismissal due to the downvotes it received isn't appreciated. That's deceptive at best. Either own your bad behavior or apologize for it, but don't edit it and pretend like you were being rational.

<comment><USER58> Not being able to change the shell is an open issue.

[https://github.com/Microsoft/BashOnWindows/issues/846](https://github.com/Microsoft/BashOnWindows/issues/846)

Then, we both edited our replies. He corrected his typo, I removed my remark about the typo. At no moment there was any insult given, and the replier did not take offense.

No need for insulting.</comment></comment></comment></comment></comment>


Show HN: Helper - World's First Real Shot Video Comic Book for iPad - <AUTHOR> https://itunes.apple.com/us/app/helper/id655015769?mt=8&ign-mpt=uo%3D2

<comment><AUTHOR> For those who is interested in comic books, you can find this really interesting. For the concept you can check the trailer [http://www.youtube.com/watch?v=w1E3PsGMp38](http://www.youtube.com/watch?v=w1E3PsGMp38)

<comment><USER2> Amazing work! Actually I am not very interested in comic books but definitely I will buy it.</comment></comment>


Strategies of abstraction - <AUTHOR> http://link.springer.com/article/10.1007/s10539-006-9052-8/fulltext.html <comment><AUTHOR> The classic 1966 paper is here (the link here is to a piece from a journal issue commemorating that paper's 40th anniversary):

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

</comment><comment><USER2> Here is the PDF:

[https://mechanism.ucsd.edu/teaching/models/levins.modelbuild...](https://mechanism.ucsd.edu/teaching/models/levins.modelbuilding.pdf)

<comment><AUTHOR> That's the old (1966) paper, not the 2006 reflections.

</comment></comment><comment><USER3> It's behind a pay wall. I can't read it. :(

<comment><AUTHOR> Sorry about that. I don't know an open version.</comment></comment>


Ecuador Spikes Halts Snowden's Asylum Because Julian Assange Is a Fame Hog - <AUTHOR> http://www.theatlanticwire.com/politics/2013/06/ecuador-snowden-asylum-julian-assange/66704/

<comment><USER2> I hope this spurs Snowden to take a step back from having Assange and WikiLeaks do his PR. I always thought this was a terrible idea.

PR efforts from Assange/WikiLeaks need to be 100% focused on Bradley Manning. They owe it to him to give him their undivided attention.

However, if Snowden wants to continue giving interviews and have media reps, he's in a tough spot. His other main media contact, Glen Greenwald, struggles with being perceived as a journalist because of his past history as an activist. Greenwald wouldn't want to jeopardize his recently gained journalistic integrity by doing something 'activist-y' like team up with Snowden to plan media strategy (which is what Snowden really needs).

I think the best outcome in this scenario would be for a media-savvy activist internet lawyer come out of an organization like EFF of Harvard and rep Snowden.

</comment><comment><USER3> For those who can't decipher the (awful) title:

"Ecuadorean President Rafael Correa has declared Edward Snowden's special travel document to be invalid because he doesn't want WikiLeaks founder Julian Assange to look like he's "running the show."

</comment><comment><USER4> So, Snowden is disappeared in Russia, and Ecuador halts Snowden's asylum request. We've had no update on Snowden's whereabouts since his (missed) flight to Havana, and don't even know if he's actually in the airport he's reported to be stuck inside.

But let's blame this on Assange. We can spin this to make him look weaker for trying to help. That will help to minimize the effect both of their efforts have on the world. The "good guys" keep winning, and the "bad guys" keep losing.

God Bless America.

</comment><comment><USER5> I suspect that Assange would love another martyr - just as long as it is not him.</comment>


Google Reader Can Now Track Changes to Any Website - Even Without a Feed - <AUTHOR> http://www.readwriteweb.com/archives/google_reader_can_now_track_changes_on_any_web_pag.php?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+readwriteweb+%28ReadWriteWeb%29 <comment><USER2> Hmmm, I've been working on something like this for a little while now. I guess I'll get to find out what it's like to compete with Google at something.

(I deleted the ragecomment I left immediately after reading this earlier, sorry)

<comment><USER3> That's clearly my first thought on every idea now: is google likely to implement that themselves at some point ? (it doesn't block me from trying though)

</comment></comment><comment><USER4> This has been around for years, through RSSpect (<http://www.rsspect.com/>) by the wonderful Ryan North.

</comment><comment><USER5> I just added <http://news.ycombinator.com/> as a Google Feed. The results are totally shame - see at [http://img199.imageshack.us/img199/3760/screenshotgoogleread...](http://img199.imageshack.us/img199/3760/screenshotgooglereader8.png)

All entries are linked to homepage. titles are identical. with yahoo pipes every kid can do a better job.

<comment><USER6> /newest does a bit better, though it gets excited about changes in rating. And articles still aren't linked, though they're at least shown when they're new.

news.ycombinator's root page is a very un-feed-like page, I wouldn't expect _any_ service to handle it correctly.

<comment><USER7> feedbeater looks like it generates it fine-- e.g.

<http://www.diffbot.com/api/rss/http://news.ycombinator.com/>

<comment><USER6> Impressive. I wonder what their change-detection system is.

And, after leaving the Google feed running for a bit, it found 3 new articles in the past day, on /newest. Definitely fail-worthy.

</comment></comment></comment></comment><comment><USER8> Cool stuff. I have been using Sucuri's Network Integrity monitor for the same thing... I monitor my own sites and some pages that I am interested to be notified when they change.

That can be very useful as an intrusion detection system if your pages are modified without you knowing it.

Link for sucuri: <http://sucuri.net>

</comment><comment><USER9> also here: <http://news.ycombinator.com/item?id=1076480>

</comment><comment><USER10> This feature reminds me of diffbot (diffbot.com). I met one of the co-founders (who's out of Stanford) and his demo worked very well. He was using it to check updates on course webpages, for example, so this feature isn't new. It also has some neat uses cases for financial companies tracking lots small snippets of new info.

</comment><comment><USER11> If you like this, please check out my take on this problem and let me know if you have any feature requests:

<http://www.readfresh.com>

</comment><comment><USER12> Good, now if google would only take this idea and apply it to their search. I want full text search on page contents not on the epic tag cloud or other random junk in the sidebar.

</comment><comment><USER13> Been waiting for this for a while. Already subscribed to Jakob Nielsen's Alertbox.

<comment><USER13> Aaaaand it doesn't work. Goldangit.</comment></comment>


iPhone 6 Adoption, hour-by-hour - <AUTHOR> https://mixpanel.com/trends/#report/iphone_6/from_date:-3,report_unit:hour,to_date:0

<comment><USER2> Where do you get this data from?

<comment><USER3> Mixpanel is service for tracking app and site usage, similar to Google Analytics. It can track app actions and user behavior, along with stats like device, region, etc.

This is probably an aggregate of device usage among all of their customer's data.</comment></comment>


FBI Files on Ray Bradbury (1959) - <AUTHOR> http://www.openculture.com/2015/08/who-was-afraid-of-ray-bradbury-science-fiction-the-fbi-it-turns-out-1959.html <comment><USER2> It blows my mind that intelligent people could still be part of the CPUSA in the 50s. It's not like they could play the "well the USSR isn't _real_ communism!" card - for decades the CP had been a blatant Stalin worship cult, controlled and used by the Soviets. We are talking 25 years after the Holodomor was publicized in the West! How could they possibly rationalize this in their minds...

This guy wrote Fahrenheit 451 ffs, how could he square the ideas in that book with his support for that regime...

<comment><USER3> I think it's because Communism is such a good idea on paper that intellectuals have a hard time admitting that it has been tested numerous times and the results are definitive: it doesn't work.

But looking at the idea on paper now, it seems obvious what the problem is: it requires unprecedented power to be put in the hands of a few despots with no oversight. What could possibly go wrong?

<comment><USER4> No, it's because it hasn't actually been tested anywhere.

Since you believe it is such a good idea on paper, perhaps you can describe to us what the idea actually is? Because either it will be blatantly obvious you don't know what the idea is, or it will be blatantly obvious it does not match any of the places you might try to claim it has been tried.

> it requires unprecedented power to be put in the hands of a few despots

A society with power put in the hands of a few despots by definition is not communism, as a society that concentrates power with one group has class rule, and communism by definition requires the absence of class divisions.

<comment><USER5> > No, it's because it hasn't actually been tested anywhere.

I think the experiments in Spain actually showed that it would work. Remember, anarchocommunism in Spain was violently crushed by fascists... after the Stalinists betrayed them.

Authoritarianism is authoritarianism wherever you go and its fruits are the same.

<comment><USER6> Experiments show that anarchocommunism works... in small groups, in larger, non-anarchocommunist contexts.

Which is to say it doesn't scale. At all. Rendering it pretty useless at the kind of scale its adherents postulate it at.

<comment><USER5> Experiments merely show that anarchocommunism attracts violence seeking to preserve authority. That is nothing new. Violence has always been the root of hierarchy. Whether it is the abolition of hierarchy or contention between old and new hierarchy, violence has always been the preferred cure and preventive.

Anarchism need not be seen merely as a state of a society. Anarchism can also be seen as a means, a method of collaborating with people. One can see anarchism everywhere in daily life and in struggles that are not specifically for the abolition of states. The root of the many anarchist political ideologies is the thought that a human being is best when she freely associates with her human beings and acts in collaboration with the world. As a method of being, it is useful even to people who care not to get involved in the grand affairs of the world.

Like many ideas and vegetables, the root of anarchism is perhaps its most useful bit.

<comment><USER7> If your form of government, or I guess in anarchocommunisms case form of non- government, can't protect and perpetuate itself then it isn't a very good system at all. It seems like that you are saying that anarchocommunisms failures aren't legitimate because they were stopped with violence and treachery. To a lot of people it seems like the entire point of a government is to organize ourselves into some form of hierarchy to protect ourselves against violence and treachery so anarchocommunism having not being able to do this is its ultimate failure.

<comment><USER8> First, it's a misconception that anarchists are against governance. They're against the "state," a hierarchical form of government. They didn't have difficulty organizing for defense/violence--in fact, a common criticism of the Spanish anarchist movement was the appropriation of farm land by force. The failure was due to the coordinated efforts of both capitalist democracies and authoritarian communists to impede their efforts at maintaining their society. Most importantly, IIRC, steel shipments from the US were halted, which reduced their fighting ability.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Original Article/Full file: [https://www.muckrock.com/news/archives/2015/aug/24/ray- bradb...](https://www.muckrock.com/news/archives/2015/aug/24/ray-bradbury-fbi- file/)

</comment><comment><USER10> Why are we so hostile to alternate forms of government. :( /U.S. citizen..

<comment><USER11> It seems a natural consequence of any government: after it's installed its primary function shifts from serving the people to be to preserving itself.

edit - If this is true, how could one design a government that naturally trends away from self preservation as an emergent phenomena?

<comment><USER12> > If this is true, how could one design a government that naturally trends > away from self preservation as an emergent phenomena?

You need something besides human beings to run the government. That's why we have the emphasis on limited government in the US - the founders understood human nature enough to realize that _nobody_ could be given unchecked power.

<comment><USER13> Yet they didn't understand systems enough to realize their models would easily precess and we'd end up with the unchecked behemoth we have today. But people are still blinded into believing the government is "limited", making it seem that the current state is manifest behavior rather than overt control.

<comment><USER14> Not completely sure why you think they didn't realize that. As a counter- point, Thomas Jefferson once wrote:

 _And what country can preserve its liberties if their rulers are not warned from time to time that their people preserve the spirit of resistance? Let them take arms. The remedy is to set them right as to facts, pardon and pacify them. What signify a few lives lost in a century or two? The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants. It is its natural manure._

<comment><USER13> So they realized it, yet didn't attempt to design for it.

His handwavey mechanism fails to the same complexity-induced irrelevance. People violently revolt only when they are hungry, not when they are merely unfree.

<comment><USER15> I believe that history provides many counter-examples to your claim. The American Revolution was not a peaceful coming of terms with Britain. The US Civil War was due to more than just the South being hangry.

<comment><USER13> You're right, and what comes to mind is that in both examples business interests stood to significantly benefit from each upheaval. Perhaps what makes USG so resistent against ideological competition is that it openly courts business competition - it took a pretty short time for "web" to get a seat at the table with finance and entertainment. Business revolutionaries are better off subscribing to the existing power structure rather than needing to foment revolution to thrive.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> No surprise here, the Hoover FBI gathered anything and everything it could, for reasons that are obvious to those who pay attention to this sort of thing.

If Hoover were alive and at the FBI now I bet he would be blackmailing NSA leaders for access to their data while giddy as a schoolgirl about how much more dirt he has on people.</comment>


Interesting comments on the psychology of going out of business sales - <AUTHOR> http://news.cnet.com/8301-1001_3-10145078-92.html

<comment><AUTHOR> Here's an interesting comment (I couldn't find a way to permalink to it), quote:

"I once worked for a major electronics chain that closed down... The most heartbreaking experience of the whole ordeal, were the customers that showed up on that day. These were not the same people that usually came to our store. Something had changed. They all had greed in their eyes. Not one single person that came into the store was the least bit sympathetic towards our situation. Not one person said they were sorry to hear myself and thousands of others would be losing our jobs. No one, not a single one gave a damn.

The only thing on their minds was how much money they were saving. They asked how much a certain product was marked down, and regardless of my answer would then demand that I take off more. When I tried to explain I was not allowed to lower the price further, many would become angry, some would actually start screaming! Some without hesitation, would even call me a "liar" when I told them the product was already marked down below cost."

<comment><AUTHOR> And the other comment:

"...Where were all these customers in the last 3 to 6 months? Your financial situation is likely not better than it was, but I sold almost $15,000 alone, as did 2 other people in the TV department. As a store, we made 275% to our budget today. And that's even with people mad that it's "only" 10% off. Our regular sales blew the liquidation prices away, but it was a ghost town for the last month. That flow would've been nice, and might have been able to save our company...

...I don't know what's worse: the vultures at the liquidation companies that mark prices up before marking them down and will fire a CC employee for taking off 11% instead of 10% if their math was wrong, or the vulturesque customers that complain that they're getting ripped off on the sale that they were never forced to make... Picking at a dead and rotting company's carcass when it could have been saved is why I call you [the liquidation companies and customers] vultures."</comment></comment>


Palm Pre Open Source Packages Released - <AUTHOR> http://opensource.palm.com/packages.html

<comment><USER2> Anyone have any scoop on when the public SDK will be available?

I bought a Palm Pre hoping that it will be available soon.

<comment><USER3> Palm's official word is: "We're not announcing the SDK's public launch date at this time. More information will be provided closer to availability."

That indicates (to me) that they aren't that close to releasing it. If you're going to provide advanced information on availability, that sounds like a month or so to me which makes me think the SDK will be public in August at the soonest.

It makes me (as a fellow Pre user) a little sad and annoyed. It should be pretty simple to make a few nice web apps using the HTML 5 local storage the Pre supports. I guess I can wait.

</comment></comment><comment><USER4> Hmmm...they modified netcat? I wonder why? Will have to take a look later.

<comment><USER5> They didn't modify netcat, apparently. There's no patch on the right. The left column is just original source tarballs, probably for convenience/versioning/archiving purposes.

</comment></comment><comment><USER6> hmm... is that correct?

releasing only the modified 'libraries' would be sufficient under LGPL, but since they are using GPL software wouldn't palm have to release the whole project?

<comment><USER7> <http://mjg59.livejournal.com/111453.html>

from the post: "instead Palm have included a written offer to supply the source code on request. This satisfies the GPL"

<comment><USER6> does just a "written offer to supply the source code on request" satisfy the GPL?

i hope not, because that would leave quite some room for abuse to the point where you need to go to court to get the source.

<comment><USER8> How would this be abused? Ask for the source code, and they are required to give it to you.

<comment><USER9> Could they just print it out and give that to you?

<comment><USER10> Many popular licenses ask for a machine-readable source along with all the extra files (makefiles and so on) required to build the thing in the same configuration as it is distributed in binary form</comment></comment></comment></comment></comment></comment>


Linux af_packet.c race condition local root exploit - <AUTHOR> http://seclists.org/oss-sec/2016/q4/607 <comment><USER2> "unprivileged namespaces, something I think should be off by default in all Linux distributions given its history of security vulnerabilities."

Does anyone know where to find more advice like this? Which features of the kernel to disable in order to be more secure?

<comment><USER3> [http://kernsec.org/wiki/index.php/Kernel_Self_Protection_Pro...](http://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project#Recommended_settings) provides a good list.

<comment><USER2> Awesome, thanks. I had heard of the kernel self protection project, but didn't realise that they'd also maintain such a nice list :-)

<comment><USER4> Or you can use grsecurity, which goes even further: [https://grsecurity.net/](https://grsecurity.net/)

In fact, many of the KSP patches are inspired by Grsecurity.

<comment><USER5> Would this vulnerability have been mitigated with default grsec, ooi?

<comment><USER6> Not sure about this one but there has been more than enough public vulns that grsec was already protecting against before release to justify using it for the security conscious Linux user.

Archlinux has packages that make it very easy to use.

<comment><USER7> Note that if you can compile the kernel yourself there are benefits to doing so. It's been a while so I forget the details but grsecurity uses some randomization at compile time, and an attacker with access to the public image would be able to get around those defenses. If you own the seed, and delete it after compilation, an attacker will not be able to bypass those defenses.

Naturally you still benefit a ton without those, but the ideal situation involves compiling it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> According to [https://security- tracker.debian.org/tracker/CVE-2016-8655](https://security- tracker.debian.org/tracker/CVE-2016-8655)

"Non-privileged user namespaces disabled by default, only vulnerable with sysctl kernel.unprivileged_userns_clone=1"

But: ... on systems where unprivileged namespaces are enabled (Ubuntu, Fedora, etc).

Interesting that Ubuntu and Debian differ here.

As of right now it doesn't appear that any distribution has fixed this yet, which is odd since it was fixed upstream a week ago.

<comment><USER9> It has been fixed in Ubuntu and OpenVZ:

[https://www.ubuntu.com/usn/usn-3151-1/](https://www.ubuntu.com/usn/usn-3151-1/)

[https://virtuozzo.com/linux-kernel-security-exploit- fix/](https://virtuozzo.com/linux-kernel-security-exploit-fix/)

<comment><USER10> In Virtuozzo at least. They don't mention OpenVZ.

<comment><USER11> As many people found out with Dirty COW, the latest version of OpenVZ doesn't receive tested patched kernels in response to newly discovered bugs. Their options are to run a nightly kernel build or to pay for Virtuozzo for their 'ReadyKernel' patches:

"Virtuozzo team uploads stable kernels for OpenVZ version 7, tested for our commercial customers, approximately once a quarter. In between, we do not test or release any kernels - all the intermediate updates are delivered to our commercial customers in rebootless (kpatch) format without building full kernel updates. Again, this is a part of our commercial offering.

As for the contributions to the community product, we still build these kernels for the "factory" repository. However, we are not equipped to test them on regular basis, between these quarterly updates."

</comment></comment></comment></comment><comment><USER12> I believe something similar to this also affected systrace, leading to its deprecation. Are there any tools that can catch this sort of thing, or is it too dependent on the intent of the programmer/API designer? Maybe it's possible to have a heuristic "other uses of this structure take a lock, but this one doesn't"?

<comment><USER13> Race conditions are a large class of issues.

The race in systrace was that non-scalar syscall arguments (e.g. file path strings) were not copied into kernel space before running the policy checks. That meant that a malicious process could alter a string argument (e.g. from another thread) after the systrace check but before the syscall routine actually used the argument. It was a well-known issue with systrace, but systrace worked well other than that. (And, arguably, even with the race it still provided a worthwhile mitigation as long as it was understood it wasn't bulletproof for non-scalar values.)

Copying non-scalar arguments into kernel buffers was considered too costly. I don't even think OpenBSD bothered doing it, and certainly Linux didn't as systrace was an out-of-tree patch. OpenBSD's pledge framework does have the ability to verify some string arguments (e.g. paths to open), which of course necessitates first copying them into kernel space. (Or, at least, for certain strings, such as "/etc/passwd", replacing the argument with an in-kernel address.)

Linux seccomp is very similar to systrace. Rather than addressing the race wrt non-scalar arguments, seccomp simply doesn't allow you to check the value of non-scalar arguments. So, for example, you cannot write a seccomp policy that can directly check the path argument to open.[1]

[1] You can, however, write a string to a mmap'd region, make the region read- only, load seccomp policies that prevent changing the flags of that region (e.g. a policy checking the address ranges of mmap, madvise, etc). Then when you use wish to pass a particular string value to a syscall that is whitelisted by a seccomp policy, you lookup the string in the protected region and pass a pointer to _that_ string if it exists. Then the seccomp policy can verify the _address_ of the string knowing that [theoretically] the object it points to is immutable. It's all very convoluted and brittle, though. And it also makes it difficult to emulate OpenBSD pledge on Linux.[2] You'd have to interpose the libc syscall wrappers to looking string arguments in the protected region.

[2] The other issue is that pledges aren't inherited across fork while seccomp policies are always inherited, which means you definitely cannot emulate pledge on Linux if you allow forking.

</comment></comment><comment><USER14> I hope someone builds an exploiter for this on Android soon - I upgraded too fast to the latest security release :/

<comment><USER15> Normal android apps don't have permission to send raw packets.

<comment><USER14> To quote the mail:

> On Android, processes with gid=3004/AID_NET_RAW are able to create AF_PACKET > sockets (mediaserver) and can trigger the bug.

I believe that this is the Android permission android.permission.NET_ADMIN, so it should work in theory...

<comment><USER15> I don't know what permission it is, but I know that there is no permission that Play Store apps can have that allows sending raw packets. There's an open bug about it on the AOSP bug tracker.

System apps can obviously do it - hence the "(mediaserver)" comment.

</comment></comment></comment></comment><comment><USER16> I only see a fix for Ubuntu 16.04, does that mean that 14.04 isn't vulnerable?

<comment><USER9> Ubuntu 12.04 and 14.04 are vulnerable too, here are the notices:

[https://www.ubuntu.com/usn/usn-3150-1/](https://www.ubuntu.com/usn/usn-3150-1/)

[https://www.ubuntu.com/usn/usn-3149-1/](https://www.ubuntu.com/usn/usn-3149-1/)

<comment><USER16> Thanks! Looking forward to today's server patching...

</comment></comment></comment><comment><USER17> I wonder if I get it right, in order to exploit the vulnerability, an unprivileged user must be able to create network namespaces, so he will be able to create raw sockets?</comment>


Warner Bros. Admits Sending HotFile False Takedown Requests - <AUTHOR> http://torrentfreak.com/warner-bros-admits-sending-hotfile-false-takedown-requests-111109/?_ <comment><USER2> I thought that the act says it is illegal to send false takedown requests?

 _While it is clear that Warner was not playing by the rules, the question of whether Hotfile is entitled to compensation for the DMCA "fraud and abuse" it claims Warner conducted is for the judge to decide._

I guess it comes down to whether HotFile has the money (they probably don't) to fight the fraud case. This makes a mockery of the justice system.

<comment><USER3> It says it's illegal to send requests that aren't in good faith. That's a big loophole there.

The question is whether the automated tool identifying them is enough to cause a good faith belief.

<comment><USER4> That sounds like a pretty hard sell. A tool that's so shoddy as to flag a 30-word sentence beginning with the site's contact URL shouldn't even be cause for a bad-faith belief.</comment></comment></comment>


So You Want Your Code to Be Asynchonous? A Twisted Interview - <AUTHOR> http://oubiwann.blogspot.com/2008/06/so-you-want-your-code-to-be-asynchonous.html

<comment><USER2> Err.. seemed kind of odd to throw out "unit conversion" as an example to discuss.

Async programming is basically about doing other things when you would have been waiting for the result with a largely idle CPU (when you would otherwise be blocking).

In the context of a single program or Twisted, the blocking times would be primarily related to I/O.. the machine on the other end of the network connection, or potentially your storage system. Using an example of "unit conversion" that is largely assumed to be CPU bound is a poor choice since the blocking code does not leave you with free CPU.

In the context of CPU bound problems and larger system, like a render farm or image processing done by picture hosting sites, async programming is about farming out work to other workers without waiting for the prior worker to return. You could use Twisted implement it, but the situation is orthogonal to the first situation.

</comment><comment><USER3> What a strange introduction to Twisted.

Ruby's equivalent is EventMachine. I like it better than Twisted, but mostly because Ruby's block syntax dovetails really nicely with callback-driven state machines.

Both Twisted and EventMachine are screaming fast.

<comment><USER4> ... and ugly to anyone who's worked with Erlang.

<comment><USER3> Ah, Erlang. The Ron Paul of programming languages.</comment></comment></comment>


IPad Guided Tours are up - <AUTHOR> http://www.apple.com/ipad/guided-tours/

<comment><USER2> I think people can go to the Apple website themselves if they are interested in the iPad.

<comment><USER3> Seeing how guided tours are done by Apple and discussing the pros and cons might be relevant for HN, don't you think?</comment></comment>


Ask HN: Rich & Dynamic or Simple & Fast landing pages. - <AUTHOR>

We usually see the landing pages with al sorts or bells and whistles. Color changes backgrounds while scrolling, fancy navigation etc. So my dilemma is should the landing page just deliver the message fast(page load) & simple. Or the design/UI of a landing page makes first impression of how the product is going to be. <comment><USER2> Delivering the message is of highest priority, coolness & fanciness is always secondary. Of course it's good if you are able to have both.

</comment><comment><USER3> Your landing page should, as quickly as possible, tell the user what you do. If you need bells and whistles to accomplish that, then you should use them. Generally though a simple message is best.

My favorite landing page is <http://www.weebly.com/>. Within a couple of seconds you know exactly what they do and how to sign up.</comment>


Tensorflow 2.0: models migration and new design - <AUTHOR> https://pgaleone.eu/tensorflow/gan/2018/11/04/tensorflow-2-models-migration-and-new-design/ <comment><USER2> I've used tensorflow in 2016-2018 and switched to Pytorch a few months ago. My theory is that TF is used mainly because it is supported by Google, even if it is really badly designed for practitioners. In fact, TF was not meant to be public but was at first some internal tool at Google. This would explain why people at Google itself started to develop Keras or Sonnet (deepmind) at some point.

For anyone interested in research in deep learning with a python-numpy like environment, I can only recommend to switch.

<comment><USER3> Keras wasn't developed by Google, it was adopted by TF.

> My theory is that TF is used mainly because it is supported by Google, even > if it is really badly designed for practitioners.

This is not correct. TF is mainly used because it's designed for industrial- strength machine learning. It provides primitives with an eye to scale from the outset (because it's Google).

It's probably true that prototyping / research was not the main audience. That's exactly why Keras was adopted, as well as features like tf.eager, to abstract away the underlying computation graphs and make it easy for people to try different things.

Well-designed primitives / abstractions are important; Tensorflow does this well.

<comment><USER4> for something to be "industrial" it has to be at least stable and well documented. tf doesnt feel like that.

<comment><USER3> Care to point out some examples? (I use tf every day and it feels fine to me but am sure the tf team is curious where others see areas for improvement).

</comment></comment></comment></comment><comment><USER5> > Tensorflow 2.0 will be a major milestone for the most popular machine > learning framework: lots of changes are coming, and all with the aim of > making ML accessible to everyone. These changes, however, requires for the > old users to completely re-learn how to use the framework

I never felt like I was not re-learning tensorflow! A constant series of breackage, deprecations, new apis etc.

<comment><USER6> Not to mention terrible documentation.

I think that's a property of Google though, because there's never been a google service for which I've read the documentation and not been like "I do not understand what's going on at all" for a non-trivial amount of time.

And all their examples for Python are just like "run this magic-code-ridden python file, congrats you did the tutorial".

<comment><USER7> Ok this is very useful to read, I also felt like that lately and I just thought I was an idiot. Now maybe we are just two idiots, or the documentation could use work.

<comment><USER8> Well, you should not start with TF documentation if you don't know how basic deep learning models work. Start with online courses

<comment><USER7> I wasn't talking about deep learning at all. I think most google technical docs suffer of a little bit of "and now draw the rest of the Owl" style.

</comment></comment></comment></comment></comment><comment><USER9> Not trying to start a language war, but I would like the old or the new api better if it had static types. Right now it's thousands of functions that can take thousands of different objects, and I would never know what to use except the few I randomly learned in a tutorial.

<comment><USER10> But the API is strictly statically typed in reality. The core is written in C++ and every operation requires a well-known type in input. As you can see from the error raised in this example: [https://pgaleone.eu/tensorflow/go/2017/05/29/understanding-t...](https://pgaleone.eu/tensorflow/go/2017/05/29/understanding- tensorflow-using-go/#question-time-1)

</comment></comment><comment><USER11> This is a great development for both new and experienced users. Most importantly, it seems to be an effort to introduce a canonical way to build a given network in Tensorflow, as opposed to the previous era where any given TF repo might implement the same network in one of several completely different ways (tf.contrib.slim, tf.layers, etc). Hopefully, defining a standard way to build models will also help accelerate the standardization of train/test scripts and data pipelines, putting to rest the era of models being deeply infected with the execution structure built around them.

Overall, it looks like Pytorch is forcing TF devs to focus more on users and usability, and I'm excited to see how they continue to spur each other's growth.

<comment><USER8> _effort to introduce a canonical way_

I'm pretty sure there will be plenty of incompatible API changes in every 2.* release, and a completely new "canonical" way introduced in TF 3.0.

</comment></comment><comment><USER12> > Support for more platforms and languages, and improved compatibility and > parity between these components via standardization on exchange formats and > alignment of APIs.

Does this mean we can get a pure C API for training and running? Right now, IIRC you can only train in Python and C++ which ignores a large part of the programming community. If not a pure C FFI API, what is the approach being taken?

<comment><USER13> The C API permits training and running. But you have to define and serialize the graph in Python (or C++).

(Of course, you could also write Tensorflow protobuf directly, but that would be tedious.)

<comment><USER12> Pardon my naivete, so at some point when not reusing others' graphs/models, to get the most out of TF you are basically forced to use one of those two languages? With TF 2 claiming more platforms/languages, will this no longer be the case?

</comment></comment></comment><comment><USER14> How about making it more stable? Kind of tired to close 10 issues a day on github because tensorflow developers decided to rename a variable. Seriously looking on pytorch.

<comment><USER15> Stable, and complete:

[https://github.com/tensorflow/tensorflow/issues/14248](https://github.com/tensorflow/tensorflow/issues/14248)

</comment></comment><comment><USER16> Tangential, but as someone in the southern hemisphere it's frustrating when people use seasons for timelines. "Q2 2019" is immediately more understandable instead of having to do some mental gymnastics to convert it.

</comment><comment><USER17> Feels bad man. All tutorials will be outdated.

</comment><comment><USER18> This: [https://twitter.com/fchollet/status/1052228463300493312](https://twitter.com/fchollet/status/1052228463300493312)

</comment><comment><USER19> as if it wasn't already confusing enough. should i use tensorflow hub? TF slim? keras applications that import tensorflow?

should i still use those outdates TF slim models that are for some reason kept in models/inception?

please, tensorflow team, make this stuff easier for us non-Phds.

<comment><USER20> Phds have as much trouble as you.

</comment></comment><comment><USER21> It still uses dataflow graphs :(

As a programmer, I don't want to think in terms of dataflow graphs. That is what compilers are for!

<comment><USER10> At your contrary, I love the graph.

However, migrating to a keras-like approach, you can work thinking about "objects with variables inside" and then the graph will be built for you by the abstraction introduced by `tf.keras.Model`.

However, for automatic differentiation, graph is always required (as you can see from the example that uses eager)

<comment><USER21> > At your contrary, I love the graph.

Can you explain what you like so much about manipulating graphs, over just writing statements like z= x⋆y, where ⋆ is some tensor operation?

Really, the graph makes me feel like I'm stacking Lego bricks with chopsticks, rather than with my bare hands ;)

<comment><USER10> The fact that I have all the computation described in a coherent manner, in something that's agnostic to the language I'm using.

The same description (the graph) can be taken and used in every other language. I can move a trained model to production just picking a single file (a `tf.train.SavedModel` IIRC), give it a tag and I'm ready to go, with different models with a native support for the "tagging" (hence the model versioning).

<comment><USER21> Whether that's an advantage depends on your perspective, because what has really happened is that you have now created a new language inside the original language.

</comment></comment></comment></comment></comment><comment><USER22> I think they should really consider making a clean JavaScript/typescript api first — use that and test for awhile - then port that design to python for a 2.0 of the python api...

The worst thing about tensorflow is being locked into having to use python for graph description and training (in my opinion) ...

<comment><USER23> Try TensorFlow.js - very nice, lots of examples included, easy to set up.

</comment></comment><comment><USER24> This reminds me Keras's creator wrote a blog on how to design APIs for the best user experience: [https://blog.keras.io/user-experience-design-for- apis.html](https://blog.keras.io/user-experience-design-for-apis.html)

</comment><comment><USER25> By the sake of god, please try to add also a more friendly build system too. Bazel is a disaster that would almost make maven looks lightweight, npm reliable and autotools userfriendly.

<comment><USER26> What do you dislike about bazel? Not championing it, just curious.

<comment><USER25> The list would be too long but out of order :

\- Using a JVM to compile mainly C++ and python, implying to deploy a JDK/JRE just for that.

\- Awful RAM consumption, compiling tensorflow takes 16GB of RAM to create a python wheel

\- Try to download the world and compile everything without allowing to specify external dependencies.

\- Compile time that are crazy long due to previous reason.

\- Invasive. Make very hard to integrate with anything else that does not build with Bazel

\- Make very hard, or sometimes, impossible to tune compiler flags

\- Just not reproducible.

\- Unstable, try to build a recent Google package with a 6 month old Bazel and good luck.

I strongly advise you to watch this video of the last FOSDEM : [https://archive.fosdem.org/2018/schedule/event/how_to_make_p...](https://archive.fosdem.org/2018/schedule/event/how_to_make_package_managers_cry/)

<comment><USER27> I strongly agree with you on the first one.

Many of your other ones are byproducts of the fact that Bazel is primarily a build-from-source system. This has some benefits, particularly in a C++ ecosystem where binary compatibility across versions basically doesn't exist. But it also has some big drawbacks when it comes to compile times.

I do see Bazel seems to support depending on a prebuilt .so, though I have not tried this: [https://docs.bazel.build/versions/master/cpp-use- cases.html#...](https://docs.bazel.build/versions/master/cpp-use- cases.html#adding-dependencies-on-precompiled-libraries)

> Invasive. Make very hard to integrate with anything else that does not build > with Bazel

I think your main options here are:

1\. prebuild the other projects, then depend on the .so from Bazel ([https://docs.bazel.build/versions/master/cpp-use- cases.html#...](https://docs.bazel.build/versions/master/cpp-use- cases.html#adding-dependencies-on-precompiled-libraries))

2\. write a BUILD file for the external project. Here is an example of a project that builds a bunch of non-Bazel deps by writing Bazel BUILD files for each of them: [https://github.com/googlecartographer/cartographer/tree/mast...](https://github.com/googlecartographer/cartographer/tree/master/bazel/third_party)

> Make very hard, or sometimes, impossible to tune compiler flags

"bazel --copt=<your options here> :target"?

> Just not reproducible.

What isn't reproducible? I tend to think of reproducibility as a strength of Bazel. Because all of your dependencies are explicit and Bazel fetches a known version, the build is less dependent on your system environment and whatever you happen to have installed there.

Disclosure: I am a Googler. I have some gripes with Bazel, but overall I think it gets some important ideas right. You have a BUILD file that is declarative, then any imperative code you need goes into separate .bzl files to define the rules you need.

<comment><USER25> > Many of your other ones are byproducts of the fact that Bazel is primarily a > build-from-source system. This has some benefits, particularly in a C++ > ecosystem where binary compatibility across versions basically doesn't > exist. But it also has some big drawbacks when it comes to compile times.

Nix, Guix and Spack packager managers solved the C++ ABI issue a long time ago already without the crazy needs of Bazel in term of resource consumption, integration and compile time. They even supports binary distributions for some of them.

> I think your main options here are: > 1\. prebuild the other projects, then > depend on the .so from Bazel ([https://docs.bazel.build/versions/master/cpp- > use-cases.html#...](https://docs.bazel.build/versions/master/cpp-use- > cases.html#...)) > 2\. write a BUILD file for the external project. Here is > an example of a project that builds a bunch of non-Bazel deps by writing > Bazel BUILD files for each of them: > [https://github.com/googlecartographer/cartographer/tree/mast...](https://github.com/googlecartographer/cartographer/tree/mast..).

I know that. But all of them are terrible options. I do not want to depend of SQLite, OpenSSL, libxml or whatever other system library compiled by Bazel, nor I want Bazel to takes 45 minutes to recompile them. Additionally, this will cause diamond dependency problem with other softwares that use Bazel artefact without compiling with Bazel.

> "bazel --copt=<your options here> :target"?

Can I use that to specify a flag to some target and not some other ? Without having to build sequentially each of them ?

Concrete example of the Maddness: SQLITE will not compile if you enable some options that would make tensorflow faster.... Bazel recursively compile both.

> What isn't reproducible? I tend to think of reproducibility as a strength of > Bazel. Because all of your dependencies are explicit and Bazel fetches a > known version, the build is less dependent on your system environment and > whatever you happen to have installed there.

Bazel try to build in isolated environment but do half of the job. It still depends on system compiler, and do not chroot nor "compiler-wrap" ( c.f Spack ) making the build still very vulnerable of system side effect and update.

> Disclosure: I am a Googler. I have some gripes with Bazel, but overall I > think it gets some important ideas right. You have a BUILD file that is > declarative, then any imperative code you need goes into separate .bzl files > to define the rules you need.

I can understand that Bazel is very convenient in Google environment with Google resources. But it's a nightmare for everyone I talked to outside of Google.

<comment><USER27> > Nix, Guix and Spack packager managers solved the C++ ABI issue a long time > ago

Yes this is certainly something that is solvable at the package manager level also. And this approach will certainly have shorter compile times.

I agree it would be nice if Bazel integrated with package managers like this more easily. I hope Bazel adds support for this. There is a trade-off though: with less control over the specific version of your dependencies, there is a greater risk of build failure or bugs arising from an untested configuration. Basically this approach outsources some of the testing and bugfixing from the authors to the packagers. But it's a trade-off I know many people are willing to make.

> Can I use that to specify a flag to some target and not some other ? Without > having to build sequentially each of them ?

You can put copts=["<opt>"] in the cc_library() rules in the BUILD file. This will give per-target granularity. You can add a select() based on compilation_mode if you need to define opt-only flags: [https://docs.bazel.build/versions/master/configurable- attrib...](https://docs.bazel.build/versions/master/configurable- attributes.html#configuration-conditions)

> Bazel try to build in isolated environment but do half of the job. It still > depends on system compiler, and do not chroot nor "compiler-wrap" ( c.f > Spack ) making the build still very vulnerable of system side effect and > update.

Bazel allows you to define your own toolchain. This can support cross- compiling and isolating the toolchain I believe, though I don't have any direct experience with this: [https://docs.bazel.build/versions/master/toolchains.html](https://docs.bazel.build/versions/master/toolchains.html)

> I can understand that Bazel is very convenient in Google environment with > Google resources. But it's a nightmare for everyone I talked to outside of > Google.

I hear you and I hope that we see some improvements to integrate better with package managers.

FWIW, I have been experimenting with auto-generating CMake from my Bazel BUILD file for my project [https://github.com/google/upb](https://github.com/google/upb). My plan is to use Bazel for development but have the CMake build be a fully supported option also for users who don't want to touch Bazel.

<comment><USER28> Bazel integrates well with nixpkgs and npm with rules_nixpkgs [0] and rules_nodejs [1] respectively.

Tangentially related to package manager integration: Bazel can now build with CMake in-tree [2].

[0] [https://github.com/bazelbuild/rules_nixpkgs/](https://github.com/bazelbuild/rules_nixpkgs/)

[1] [https://github.com/bazelbuild/rules_nodejs/](https://github.com/bazelbuild/rules_nodejs/)

[2] [https://github.com/bazelbuild/rules_foreign_cc/](https://github.com/bazelbuild/rules_foreign_cc/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> Hopefully this time it will support AMD opensource drivers. It is awful TF now tied up to proprietary NVIDIA drivers.

</comment><comment><USER30> 2.5 years of learning tensorflow now gone to waste :(</comment>


Europe Closer to Fining Microsoft Billions Over Failure To Offer IE Alternatives - <AUTHOR> http://techcrunch.com/2012/10/14/report-europe-inching-closer-to-fining-microsoft-billions-over-failure-to-offer-internet-explorer-alternatives/

<comment><USER2> I live in the EU and have legal install of windows for XP,Vista and Win7 and can saftly say I already installed another browser and found the whole chose one option provided as a required patch most annoying.

Sad thing is any user at the level of not being able to install a alternative browser are also the users more prone to have botnets and other malware installed upon there compter. That is the real issue that the EU has not addressed, Microsoft offered a alternative idiot install alternative and I for one found it most annoying.

The EU have better area's to attend to thesedays and I'd hate to suddenly find out one day that chromebooks suddenly have to offer Microsoft browsers as a alternative, or iPad's demanding user pick another browser or not.

It is when there is no alternative choice and for windows that has never been the case to date (not sure about tablet windows flavours). That can not be said for other operating systems and iOS at some point was a little rejecting of alternative browsers in its central dominating app store. Windows had netscape before microsoft had a browser, always been alternatives and easy to install and associate. The only issue is that they expect people who are unable to handle that trivial task on the internet blindly without even saying no Microsoft they must pick a antivirus program before they connect to the internet. That would of been useful inforcement, but nope.

At times I do wonder if I sent in a CV on punched cards to the main EU office that they would not only accept it and convert onto 8" floppy disc for me for free. I think that is an old joke, but there again so is the point in time the EU are on about and even then they missed the real issue.

<comment><USER3> A key difference between Microsoft Windows and other operating systems is that it was declared a monopoly _.

Being deemed a monopoly Microsoft Windows is held to different standards to all the other options that you mentioned.

That said, I think that we are approaching at time when Microsoft shouldn't be considered a monopoly.

_did that happen just in the US, or did it also happen in the EU?

</comment></comment><comment><USER4> This might have made some sense back in ~2002 when all other browsers were DOA. Seems almost cruel to watch the EU stomp a dying browser further into the pavement.

Surely it would be more fitting for the EU to look into UEFI or Windows 8 RT which IIRC will not allow other browsers at all.

<comment><USER5> You do know IE is still by far #1 right?

<comment><USER6> Really? <http://en.wikipedia.org/wiki/Usage_share_of_web_browsers>

<comment><USER7> Everyone is counting Chrome at 30% or higher. Net Applications is the only one that counts it at under 20% and IE having the most market share. What he hell kind of stats are they taking there? For some reason Ars Technica keeps using theirs stats over others, too, even though I'm sure their own website's stats are a lot more similar to the others than to Net Apps' numbers.

</comment></comment></comment></comment><comment><USER8> You all are being unfair. Whatever you think of the settlement, Microsoft agreed to these terms. Then it simply stopped abiding by the agreement.

Microsoft is clearly in the wrong here.

</comment><comment><USER9> headline should be: "europe is going bankrupt and needs to find people to tax and companies to shakedown so they don't need to reform."

<comment><USER10> Legal battles between Microsoft and the EU have been going on since before the euro was even introduced.

</comment></comment><comment><USER11> For those not actually reading the article, this goes back to the multi- billion dollar EU ruling from 2004. Microsoft appealed it for years and eventually reached a settlement in 2009, which reduced their fine to a fraction of the original ruling. However, one of the key requirements of that settlement was the browser ballot, which Microsoft has been violating (as they admitted, but stated the noncompliance was unintentional). Since Microsoft breached the terms of the settlement, they're now potentially on the hook for the original fine plus whatever else applies.

</comment><comment><USER12> When are they going to fine Apple? I don't get a choice on iOS...

<comment><USER13> The definition of a monopoly according to the US government, is a 60% market share.

As Apple doesn't have a 60% market share on smartphones, they are allowed to do what they want.

<comment><USER14> What does the US government have to do with EU law?

<comment><USER15> I think it's 40% of the market for EU laws. At least it's 40% when they start investigating you.

</comment></comment></comment></comment><comment><USER16> I don't know how this failure happened, but I'm certain it wasn't intentional. IE market research has been tracking the effect of the browser ballot closely and found it to be almost completely negligible - the people who don't pick IE from familiarity / brand recognition are the same people who would have downloaded another browser anyway. They wouldn't have risked another legal/PR/financial fiasco over that. I'd really hate to be whoever's responsible for whatever snafu was the immediate cause ...

</comment><comment><USER17> Time for the EU to go back to the Microsoft piggybank. Ka-ching!

<comment><USER18> Microsoft continues to commit the corporate equivalent of a parole violation.

The EU cannot "go back" to the piggybank, given that Microsoft has still left its pre-existing obligations unfulfilled.

</comment></comment><comment><USER19> Tis is kind of sad. What are the legal reprecussions if MS tells the EU to take a hike? No desktop windows in EU?

<comment><USER20> My guess would be this plus possible legal actions against individuals (should they really tell them to "take a hike").

</comment></comment><comment><USER21> Question: I think if you disagree with (software) patents, you must also disagree with these anti-monopoly laws. Everyone must be equal and free to compete, even companies with trillions of dollars in bank.

It's 3 AM here so I can't make a good case why I feel that way (so I rather not to, in case I'm misunderstood and people waste their time arguing about what I _don't_ mean), but I want to know what others think about it. Most people hate IE and to a degree, MS. But it shouldn't matter whether we like them or not. They must be allowed to do whatever they want even if it hurts the industry.

<comment><USER22> > I think if you disagree with (software) patents, you must also disagree with > these anti-monopoly laws.

...Do you have a reason for thinking that? The connection isn't obvious.

If your reason for disagreeing with software patents is an aversion to government intervention then, ok, sure, that reason would also extend to disliking competition law. But if your reason for disagreeing with software patents is, say, because you don't like that they grant the patent-holder a monopoly on the subject of the patent and you don't like monopolies, that's pretty compatible with having a high regard for competition law. And if your reason for disagree with software patents is something else entirely, that might not point to any particular position on competition law at all.

<comment><USER21> To be honest I can't understand your comment right now (I'm tooo sleepy - it's 5:35 AM!), so I can't comment on that. But the gist of what I was getting at was this: is government intervention in a free market "a good thing"? Even if it is to (temporarily?) protect us from the evil of Big Co.?

</comment></comment></comment><comment><USER13> Relevant. <http://xkcd.com/1118/></comment>


I Survived a Week Without My Wallet - <AUTHOR> https://www.nytimes.com/2019/09/27/smarter-living/wirecutter/no-wallet-digital-payments.html <comment><AUTHOR> Including domestic air travel, surprisingly. Apparently TSA will ask you ID questions.</comment>


Feds want cash seized in a raid, so they're suing the cash - <AUTHOR> http://www.miamiherald.com/news/local/community/florida-keys/article183289241.html <comment><USER2> This happens a lot. Just go to PACER and do a search on certain amounts as respondents to civil cases and you will find the cases. Start with a party search like "$40,000" or such, since the numbers will be the respondent name in the case.</comment>


Read the tweets of the top 100 VCs, Angels & Investors on a single page - <AUTHOR> http://www.readevery.com/best?q=Most_Influential_VCs_Angels_and_Investors

<comment><USER2> I guess I'm a philistine, but I only recognize like 3 names here. Also, comments about it being Sunday, the traffic on the M25, and the weather simultaneously bore me and hearten me (in that I'm just as lame as some millionaires).

<comment><USER3> Kind of in the same boat here; it would be a lot more helpful if there was some sort of hover popup over the various names.

</comment></comment><comment><USER4> Cool idea.

One issue: it took a minute to figure out how to see more because I'm viewing at 1920x1200 resolution; the js wouldn't trigger until making my window smaller.</comment>


Ask HN: I wrote this, what now? - <AUTHOR>

Over the past few months I've been experimenting with affiliate marketing on a blog I run. To my surprise it has been moderately successful.
Being more a software person than a writer, I wrote my own contextual ad delivery system, using affiliate ads for inventory.
Last week, Google rolled out a very similar feature for AdWords [1], claiming it "leads to more clicks, higher quality leads, and higher ROI for your search ads".
Encouraged by that I built a technology demonstrator for my ad delivery technology: http://demo.qontex.com/
Based on my experiments, the contextual technology works roughly as well as Google AdSense does (I do have an advantage in that I don't need to worry about click-fraud).
Here's a few samples, based on the top HN stories when I submitted this:
http://demo.qontex.com/?url=http://www.thestar.com/news/world/article/744199---israelification-high-security-little-bother
http://demo.qontex.com/?url=http://stacksmashing.net/2010/11/15/cracking-in-the-cloud-amazons-new-ec2-gpu-instances/
http://demo.qontex.com/?url=http://brokenbottleboy.tumblr.com/post/1583250140/facebook-messaging-scorned-by-nerds-built-for&categories=Books
I'd love some suggestions for what I should do with this? Should I try and licence the technology (to who?) or should I try marketing it to webmasters (and how would the finances work there? It seems odd to charge a website to run ads on it)? Or maybe I should be paying people to run my ads on their site?
[1] http://adwords.blogspot.com/2010/11/product-listing-ads-rolling-out-to-all.html <comment><USER2> I had actually planned a startup building something similar (+ip geolocation to pick appropriate affiliate links), however I ended up moving onto another idea because I couldn't make the numbers work out.

To make the same amount of money as from CPC ads, you have to get a much higher click-through rate than CPC ads conventionally get. I wasn't convinced I could build contextual ad technology that would result in the higher CTR to make it worthwhile. Congrats if you've managing to pull that off, I'd be interested to hear what the equivalent CPC/CPM would be of your ads.

My own business plan was to target sites which can't use Google Adwords, primarily sites which require logins to access content (dating sites, small social networks) or do dynamic page generation.

Another good market might be blogs which don't monetize very well at the moment if your tech works well in that context. I believe jgc posted a while back saying despite his high traffic on his blog he couldn't see traditional adwords bringing in much.

My plan to monetize initially was to take a percentage cut, use your affiliate code 20% of the time and the websites affiliate code the other 80% of the time. That way you avoid having to handle the payments yourself but get income very early on.

<comment><AUTHOR> For some niche markets affiliates work pretty well.

I don't think I'm allowed to share Adsense numbers, but from the one (mildly) successful blog I make money on I get around 30 times as much money from affilates compared to Adsense.

(and yes, it's becoming clear I'll need to do the geo-location based filtering of ads)

<comment><USER2> Let me make some ballpark guesses here: Adsense for blogs normally comes to around $0.10 - $1.10 CPM, so I assume your making it the region of $3 - $30.

If your affiliate ads are generating > $10 / CPM then you're home dry, your product will sell yourself. Less than $10 then you'll probably find it hard to compete against the major blog ad networks, however small-to-midtier blogs that use adsense may well be a good target market for you.

<comment><AUTHOR> Your assumptions are valid.

</comment></comment></comment></comment><comment><USER3> If you're marketing to webmasters, maybe a Skimlinks style model where you manage all the affiliate programs etc on behalf of the end user and pay them a cut of the revenues generated from their site?

<comment><AUTHOR> I'd never seen Skimlinks. Have you used it before?

Looking at it now that looks to be quite an interesting model.

They claim " _you can earn up to 110% of what you would have earned if you managed your affiliate links programme yourself._ " which sounds doubtful at first. Thinking about it though, most affiliate programs increase your commission as you sell more, so it's possible this could work out.

<comment><USER3> Haven't used it _yet_.

I'm guessing that that economies of scale and quality control over their publishers they can potentially negotiate larger-than-normal commission arrangements with some providers, and they only need to take a small percentage to be profitable.

</comment></comment></comment><comment><USER4> How about an openx style business model? or try to get some feedback from the affiliate marketers at WebmasterWorld.com and see what they think.

<comment><AUTHOR> OpenX has an interesting model and it could work for me. I haven't been able to work out how much OpenX actually costs, though. <http://www.openx.org/publisher/compare-ad-server-products> says they charge "for overage impressions" (whatever that means) or "based on impression volumes".

The obvious question is _how much_ per impression because thats the difference between this being viable and not.

</comment></comment><comment><AUTHOR> Clickable: <http://demo.qontex.com/>

[http://demo.qontex.com/?url=http://www.thestar.com/news/worl...](http://demo.qontex.com/?url=http://www.thestar.com/news/world/article/744199 ---israelification-high-security-little-bother)</comment>


What I Hate About the Internet - Everyone is a "Social Media Consultant" - <AUTHOR> http://www.digidave.org/adventures_in_freelancing/2008/04/what-i-hate-abo.html

<comment><USER2> cf. New Media Douchebags (<http://www.youtube.com/watch?v=zSP8xm_gaK4>)</comment>


Managing AI in Gigantic - <AUTHOR> https://gamedevdaily.io/managing-ai-in-gigantic-523dc84763cf#.gsumjo9oj <comment><USER2> They state that Behavior Trees provide the same functionality as Finite State Machines, however since there appear to be no loops (remember they are a tree) how would you handle iteration or recursion ?

Finite State Machines don't have memory per se, but duplication of states can create the illusion of memory. if you have five states in a row that expect a particular situation/sequence, then this could emulate a counter up to five. I think this could be done with multiple states in a behavior tree. But a FSM could have a physical loop back to a previous state which would emulate an unknown number of states. I don't see how to do this with Behaviour trees.

I'd like to see more details, and of course, if anyone actually has used these, I'd like to hear how repetition is supported, or even time varying values.

<comment><AUTHOR> To handle loops I believe most implementations have a "restart on complete" flag on trees or nodes. So if the first node was a sequence node you could set it to start back at the first node after the last is done.

There's a second post that may answer some of your other questions. "Advanced Behavior Tree Structures" [https://gamedevdaily.io/advanced-behavior-tree- structures-4b...](https://gamedevdaily.io/advanced-behavior-tree- structures-4b9dc0516f92#.djupivlag)

Unity has a decent behavior tree plugin called Behavior Designer. I've only used it a tiny bit so I'm still getting a grasp on what it does and does not handle well. Poking at it, or simply it's documentation, may also help. [https://www.assetstore.unity3d.com/en/#!/content/15277](https://www.assetstore.unity3d.com/en/#!/content/15277) [http://www.opsive.com/assets/BehaviorDesigner/](http://www.opsive.com/assets/BehaviorDesigner/)</comment></comment>