ITerm2 1.0 Released - <AUTHOR> http://www.iterm2.com/#/section/home

<comment><AUTHOR> I've been using this replacement for Terminal.app while it's been in beta, and it's fantastic. It natively supports splitting, windowing, and tabs, and it has great keyboard shortcuts for navigation between all of your windows. It also has fullscreen mode (and top-of-screen mode) if you like to dedicate a Space to it. There's a Solarized theme for it if you're into that sort of thing. It supports Growl if you can't stand not being bugged about unnecessary information (or you can turn it off if you're the productive type).

This is the very first thing I install on a new Mac for development. I highly recommend it.

<comment><USER2> Terminal.app has tabs, at least as of Snow Leopard. Also does split panes (but they are the same session). I use Terminal quite a lot but have not found it lacking enough to consider replacing it.

<comment><USER3> One feature of iTerm that we've come to depend on is 'Send input to all sessions'.

Don't use it often, but I'm glad it is there.

</comment></comment></comment><comment><USER4> some other resources for those interested in terminal apps, what are some others?

Guake: <http://guake.org/>

Yakuake: <http://kde-apps.org/content/show.php?content=29153>

Visor: <http://visor.binaryage.com/>

SIMBL: <http://www.culater.net/software/SIMBL/SIMBL.php>

Solarized: <http://ethanschoonover.com/solarized>

<comment><USER5> Solarized color theme for OS X Lion Terminal.app: [https://github.com/tomislav/osx-lion-terminal.app-colors- sol...](https://github.com/tomislav/osx-lion-terminal.app-colors-solarized)

</comment></comment><comment><USER6> I wasn't a fan of iTerm "1". What's new in 2? Someone got a summary? I don't see it on their site.

<comment><USER7> I switched to terminal from iTerm 1. I switched to iTerm 2 from terminal because of:

\- true split windows (cmd-d horizontal, cmd-shift-d vertical), as many as you can fit

\- good split window navigation (cmd-opt-arrow)

\- "save" window split setup - cmd-shift-s to save, cmd-shift-r to restore

\- better search, all from the command line

\- full 256 color support without any hacks

\- copy to clipboard on selection option (similar to windows shell if you're familiar with that)

\- fullscreen mode with cmd-enter

\- better speed than iTerm 1 (comparable to terminal, the reason I switched to it in the first place)

(I don't think I've remapped the above keys, but if I have, easy key remapping is another nice thing about iTerm2 :)

<comment><USER8> So tmux with a shiny 200x200 icon?

<comment><USER9> One of the features slated for v1.1 or thereabouts is deep integration with tmux.

<http://code.google.com/p/iterm2/wiki/TmuxIntegration> and [https://docs.google.com/document/d/1ABI0kqUUxoAjxhWW3AsWFis6...](https://docs.google.com/document/d/1ABI0kqUUxoAjxhWW3AsWFis6bgvMoEbcTcA2N21ncmU/edit?hl=en&authkey=COHZn78P&pli=1) have some details on how it might work.

(Also, learn the difference between a terminal multiplexer, and a terminal emulator :p)

<comment><USER10> > (Also, learn the difference between a terminal multiplexer, and a terminal > emulator :p)

What difference the name makes? If this shiny new terminal emulator is touting something which a terminal multiplexer already does, from a user perspective, his reply is legit.

<comment><USER9> A terminal multiplexer is a way to create and access multiple ttys from a single terminal (-emulator). Both of the most widely known (GNU Screen and tmux) are terminal-only apps - They require a terminal or terminal emulator to act as their user interface.

Terminal emulators, as the name suggest, emulate terminals. Since most people don't tend to use dedicated VT100s any more, we use emulators like xterm, rxvt, Terminal.app, etc instead.

A mux without an emulator to access it is pretty useless, whereas an emulator with some mux features can provide benefits not easily achievable with a standalone multiplexer.

One example would be mouse-based text selection. Using vertical splits in tmux, and triple-clicking to select a full line will select the contents of both split regions, whereas a GUI app can limit it to one region. I'm sure there are plenty of other features.

<comment><USER10> > A terminal multiplexer is a way to create and access multiple ttys from a > single terminal (-emulator).

Thanks. I know that and use screen, and the post we are discussing mentions tmux, so he knows it as well.

> whereas an emulator with some mux features can provide benefits not easily > achievable with a standalone multiplexer.

The op was being snarky but that was the whole point. iterm2 doesn't seem to be giving something which we(in a generic sense; I use linux and have nothing to do with iterm) want and aren't already doing in the current emulator/multiplexer setup.

> One example would be mouse-based text selection. Using vertical splits in > tmux, and triple-clicking to select a full line will select the contents of > both split regions, whereas a GUI app can limit it to one region. I'm sure > there are plenty of other features.

I don't use tmux but that's the behavior in gnu screen vertical split as well.

<comment><USER9> >> A terminal multiplexer is a way to create and access multiple ttys from a single terminal (-emulator).

> Thanks. I know that and use screen, and the post we are discussing mentions > tmux, so he knows it as well.

You asked what the difference was. I told you.

>> whereas an emulator with some mux features can provide benefits not easily achievable with a standalone multiplexer.

> The op was being snarky but that was the whole point. iterm2 doesn't seem to > be giving something which we(in a generic sense; I use linux and have > nothing to do with iterm) want and aren't already doing in the current > emulator/multiplexer setup.

Yes, I got that as well. My point is that it is in fact nothing at all like "tmux with an icon"; It's a terminal emulator, which happens to:

a) be better in various ways than hte Terminal.app that ships with OSX (256-color support, for a start. See upthread for many more).

b) have some features which overlap with dedicated terminal muxes, like tmux. If you look at the links I mentioned, the idea is to make iTerm recognise you're using tmux (even on a remote host), and translate its split panels into GUI split panels, amongst other things.

So yes, it does (or will) provide additional features.

>> One example would be mouse-based text selection. Using vertical splits in tmux, and triple-clicking to select a full line will select the contents of both split regions, whereas a GUI app can limit it to one region. I'm sure there are plenty of other features.

>I don't use tmux but that's the behavior in gnu screen vertical split as well.

Precisely. But iTerm2, being a GUI terminal emulator, _can_ do that. That is a feature.

<comment><USER10> > You asked what the difference was. I told you.

I didn't ask what the difference was. I asked what difference it makes what difference the name makes in context of knowing the difference between tmux and iterm2 - what is terminal emulator and what is terminal mux and what is a combo, as long as it gives me what I want.

I believe the discussion was centered around why would someone switch to iterm2.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> +1. This is a great OSX terminal app. I love how quickly it has grown and improved.

I encourage more folks to try it out. You'll love the color themes, split windows, built-in visor hot-keys, and more.

<comment><USER12> I downloaded iTerm2 about 20 minutes ago and I already love it. Anybody know of any downsides of using it over Terminal.app?

<comment><USER13> I have a hard time changing functionality of the __alt __key between alt and meta. I Terminal.app I just go to preferences and it is there. Here it takes a little more..

<comment><USER14> Preferences -> Keys -> Remap Modifier Keys

For anyone who is interested.

</comment></comment></comment></comment><comment><USER15>
        #container { margin: 0 15%; }

looks much better as

        #container { margin: 0 auto; }

I expect downvotes but its a great app and it deserves a great website.

</comment><comment><USER16> Does the font rendering seem very different to anyone else? Using the same font (Anonymous Pro 14pt), I had to increase the vertical spacing from 1.0 (as it was in iTerm) to ~1.18 to get the same spacing. Bold is rendered differently (worse) too. It does seem quite a bit snappier on my old G5 though.

Comparison shot: iTerm on the left, iterm2 on right: <http://i.imgur.com/9yA8y.png>

<comment><USER17> Off-topic: Something interesting about the aesthetics of text to point out here. I had to double-take which you said was left and which was right. I was sure that you were saying the _left_ was iTerm2, because to me the one on the right has clearly superior text rendering ( _especially_ the bold)!

</comment></comment><comment><USER18> Woot 0 cpu usage when it isn't doing anything!

<comment><USER19> I never got into iTerm1, was this an issue?

<comment><USER20> Oh yes double plus yes yes yes.

</comment></comment></comment><comment><USER21> I don't use screen locally so when I ssh into boxes and use screen I'm not screen in screen and have to double-a. So I like tabs.

A feature that would be awesome (if it doesn't exist, by default at least it doesn't) is being able to have tabs per split.

OSX's window manager is so poor in my opinion that I would love to be able to have a full screen iterm2 but I like to have one terminal on the left and one on the right which has many tabs -- just helps with the cluster I'm dealing with. So without being able to have tabs only on the right split I have to use two iterm2s.

Just a thought.

</comment><comment><USER22> I mainly use iTerm2 because, unlike Terminal.app, it has gpm support. Being able to use a mouse while editing files over an SSH connection, without having to think about it, is a big win.

</comment><comment><USER23> Great job developers of iTerm2, it's really a pleasure to use on a day to day basis, if only it had really cool integration with tmux so I could actually use tmux instead of hate on it.

<comment><USER24> I have been using tmux with the beta. After a bit of key remapping it works great.

<comment><USER23> I have been using tmux occasionally to, but the key mappings kill me. I just want it to be one stroke, not chorded...so what I want really is for an iterm window to behave like a tmux session, with tabs being windows etc

</comment></comment></comment><comment><USER25> ITerm2 combined with zsh and oh-my-zsh gives you super powers.

<comment><USER26> I agree. I was a bash user for the longest time and iterm2 with oh-my-zsh is the best thing ever.

</comment></comment><comment><USER27> I forked tmuxinator to generate the appropriate applescript that will set up iTerm according to your tmuxinator config: [https://github.com/dkastner/tmuxinator/commit/c96d04d994cd8c...](https://github.com/dkastner/tmuxinator/commit/c96d04d994cd8cd0d6a4f16491225ea561d0d50f)

</comment><comment><USER28> Wow, looks like they've fixed most of the problems I had with it in the past. The one thing I still miss from yakuake is to be able to select split-panes by numeric hotkey. Seems like you can only do it for separate tabs and windows, but my preferred workspace is a 2x2 visor window.

<comment><USER29> There's a feature request open for this. Haven't figured out the details yet, but I want to make it easy to assign a keystroke to a session (like how RTS games let you define groups of vehicles/soldiers). Maybe in 1.1...

</comment></comment><comment><USER30> Been playing with it this evening and it will be replacing terminal for me. I also found this nice collection of themes to pimp it out a little:

<https://github.com/baskerville/iTerm-2-Color-Themes>

<comment><AUTHOR> Good find! Here's the link to the Solarized color theme for iTerm2 as well.

[https://github.com/altercation/solarized/tree/master/iterm2-...](https://github.com/altercation/solarized/tree/master/iterm2-colors- solarized)

</comment></comment><comment><USER31> This looks great. Two questions:

\- How does one change the background color for the panes that don't have focus? The black vs charcoal distinction is a bit too subtle for me.

\- Is it possible to map command-` to cycle between panes? If so, how?

<comment><USER9> 1) I don't think you can change the colour, but you can adjust the dimming level with:

defaults write com.googlecode.iterm2 SplitPaneDimmingAmount -float 0.25 # [range from 0-1.0, lower is darker]

Maybe add a feature request for a 'inactive panes colour' widget to be added to the Profile colours tab.

NB: Changing the dim amount seems to require a restart of iTerm to take effect.

2) Set a global keybinding (Prefs->Keys-> \+ button) to 'Select Menu Item...' from the very bottom of the list, and specify 'Next Pane' (no quotes) in the text field.

<comment><USER31> thanks!

</comment></comment></comment><comment><USER32> Quick question - is it possible to underline links a let them be opened by single click?

<comment><USER9> It's an open feature request. The current issue is finding a way to do so efficiently. Adding a mouse tracking region for each link (and moving it every time you scroll) is impractical, and I'm not well enough versed in the display storage structures to know how easily you could get the bounding box of a link and hit-test for it without a performance hit.

Cmd-clicking them works though.

</comment></comment><comment><USER33> I find iTerm/iTerm 2 invaluable for full screen mode, ability to turn off scroll bars (and still have a scroll back buffer--can't do this in Terminal.app and it kills me), and copy-on-select.

</comment><comment><USER34> I'd like to try iTerm2, but "groups" in Terminal.app is a must-have feature for me.

Anyone know of a workaround for iTerm2 that will let me save a group of windows and starting commands?

<comment><USER9> There's Applescript support, so you could probably cobble together a script that'd launch your multiple windows & commands.

There's also Window->Save Window Arrangement, but I believe that only allows for a single arrangement.

Feel free to add a feature request at <http://code.google.com/p/iterm2/issues/list> (There's plans for eventually moving everything over to github, but the issues will get migrated too)

I'm working on improving the preferences UI and back-end, but I'm learning obj-c and Cocoa as I go, so it's a slowish process :)

</comment></comment><comment><USER35> Awesome! iTerm + zsh... If only I could disable the scrollbar :/ On a related note, is there a show/hide animation like Visor too? I liked the "slide in/slide out" animation a lot.

<comment><USER36> You can hide the scrollbar. Preferences -> Appearance -> Check "Hide scrollbar and resize control"

</comment></comment><comment><USER37> Is there a changelog somewhere obvious that I'm missing? It appears I've gone from 0.20 to 1.0, what am I getting here? The one in the source tree appears to be quite out of date.

<comment><AUTHOR> I believe most of the features in their feature list were added since 0.2. I'm reading this now, and finding features that I've been needing and didn't realize they were done already.

<http://www.iterm2.com/#/section/features>

</comment></comment><comment><USER38> The SVN repo doesn't have a tag for version 1.0. I know it's a quibble, but it's useful for people who maintain package managers like Macports. :(

<comment><USER29> Fixed now. Googlecode truncates the listing in the web view, but it's under tags/v1_0_0

<comment><USER38> Thank you! It's now updated in Macports, as well. :)

</comment></comment></comment><comment><USER39> iTerm 2 is essential.

</comment><comment><USER40> I just think it's interesting that iTerm2 has one author, but iterm2.com has three.

<comment><USER9> <http://code.google.com/p/iterm2/wiki/Credits> has a comprehensive list of contributors, but (I think) the fork from iTerm to iTerm2 and vast majority of the development has been done by George.

Regarding the website, I'd guess a couple of people volunteered to make it shiny and accessible, but the docs and whatnot were (and mostly still are) on the googlecode project wiki.

</comment></comment><comment><USER41> split pane seems to require configuration since default is "cmd+d" which is set to be shown desktop on some mac.

</comment><comment><USER42> How do I switch between split windows?

<comment><USER43> I find turning on 'focus-follows-mouse' to be a great asset. Then I just hover over the pane I want.

</comment></comment><comment><USER24> happy beta user here rolling zsh with tmux and solarized. Looks great, works great

</comment><comment><USER44> -1, click through three pages to get from "Download" to an actual download.

</comment><comment><USER45> I love iTERM!

</comment><comment><USER46> You have to be kidding me, right? This app is so bloated and unpolished—it really doesn't feel like it belongs on the Mac. I'll take OSX Lion's sleek Terminal.app over iTerm any day. My favorite new feature, it lets you customize ANSI colors!

Screenshot of Lion Terminal:

[http://akhun.com/seo/skitch/kenneth_%E2%80%94_vim-20110707-1...](http://akhun.com/seo/skitch/kenneth_%E2%80%94_vim-20110707-120545.png)

Edit: I know I'm going to get tons of downvotes for this. But it's my opinion that something sleek and simple is much more powerful than something with tons of bells and whistles, especially when it doesn't look very good.

Edit2: To all those who bring up window splitting, the default terminal app does it too, as well as native fullscreen:

[http://akhun.com/seo/skitch/Screen_Shot_2011-07-07_at_12.30....](http://akhun.com/seo/skitch/Screen_Shot_2011-07-07_at_12.30.42_PM-20110707-123055.png)

<comment><USER47> Have you used it recently? It was really buggy/slow a few months ago, but has improved drastically.

<comment><USER48> I've been using it since last 7 months. This version definitely seems speedier, I'm talking about the lags in bringing up new tabs/windows in previous versions.

Moreover I love the simplicity of its key combinations - CMD + left right.

CMD+^+E -> A nice expose style overview for all your tabs.

Though their search is horribly slow.</comment></comment></comment>


Doing things the wrong way to get the right result - <AUTHOR> https://madebymany.com/stories/swallow-your-developer-s-pride-and-just-do-stuff <comment><USER2> The problem with this approach is when they say "okay, we'll have an intern do the manual keying each week and use the prototype as the finished product. Thank you, goodbye."

Or the fact that it looks 90% done, so the idea that you did it in 2 weeks means you are just days away from completion, right?

Sometimes the reasons for not hacking stuff together can be quite political, both for internal projects and for consultant/client relationships.

<comment><USER3> "okay, we'll have an intern do the manual keying each week and use the prototype as the finished product. Thank you, goodbye." is a valid business choice though. Maybe the cost of the intern and the risk of being unable to effectively maintain or add features is worth it to the client. It's their choice if they would prefer it that way.

<comment><USER4> Not only that, but the intern can make decisions that an automated system isn't going to be able to do safely due to ambiguities, etc.

This reminds me of an automated licensing call I was putting together once. The company owner wanted me to insert some verbiage into the notes field, only the web api didn't support the notes field (but you could do it by logging in and manually updating).

I had started to plan on how I was going to do this via a headless browser. I start asking the owner questions to clarify things and he says "just email XXX with the information and she'll manually log into the site and copy/paste the notes you put in the email".

And I thought... you know what? that's really fucking smart, I'm way overthinking this. They're going to get 4 or 5 license activations/month MAYBE and this approach is a whole hell of a lot more simple and robust than pulling in a headless browser to simulate it.

I then had to stop and think about why I hadn't considered that approach before.

I guess the point is that I agree with you wholeheartedly. Not only in terms of simply cost, but in terms of complexity, stability, and ambiguity as well.

</comment></comment></comment><comment><USER5> This is often good advice especially in a startup, but it's not quite absolute. It's worth putting a certain amount of work into maintainability. It's worth pre-empting some classes of issues. And the further you shift into being a mature business, the more serious engineering becomes appropriate.

<comment><USER6> Yes it's bit of a trade-off, as usual in software. Hacking can be the fastest now, but having worked on 10000loc code which consisted mainly of such hacks and none of the feasible maintainability: your hack might cause a ton of lost time in the future. Then again, the more experienced you get, the easier it will be to spot if a hack is the appropriate thing or not. Like if your software is already nicely established and loosely coupled you can apply hacks here and there without any negative effect on maintainability or functionality whatsoever.

<comment><USER7> Curious if you have some concrete examples of "loosely coupled" software projects. On GH perhaps?

It's a concept I try to keep in mind, but am never sure I am "doing it right".

<comment><USER6> Mainly C++ dev here, I do think for example LLVM is very well done, and Boost as well. But both are immense codebases and especially Boost is complicated to the point it's insane. It's a shame but I don't have good examples of relatively small projects to check out. Maybe that's worth an 'Ask HN' thread: I've definitely seen threads like 'Ask HN: what are good open source projects to check' but without the extra requirement they're small(ish). The concept of decoupling is usually not just in the details, but in the more higher level layers of the software, so to really grasp it you'd have to really spend some time on the whole project, not just read some files here and there. Which would obviously be easier with a small project.

<comment><USER4> I would point to both CLang and KDE as projects with very good modularity. I remember reading through the sources oc CLang a few years back and being impressed with it.

</comment></comment></comment></comment></comment><comment><USER8> I always think this is very much the approach MVP (Minimum Viable Product) takes. I've seen this taken to the extreme in a company where the IT department where applying MVP to their internal business users creating absolute havock. Eventually Business Analysts were brought in to 'force' a more beneficial approach to delivering good solutions as well as get the business talking to IT in terms that each could understand.

There is a point within a company, where you have to switch from Minimum Viable Product to Minimum Valuable Product and try and live by the motto "Write your way out of a job".

Not sure where I am going with this, but I think the OP is right. We overthink things sometimes.

</comment><comment><USER9> I encountered this in a personal project in the past week.

The ideal, normalized schema would be slow and awkward for manual insertions on a daily basis, which I felt would deter me and hence undermine the project.

The not-quite-normalized version would be much quicker and more intuitive for me to keep up-to-date, so I talked myself into it.

In the future I can always write a stored proc to process the less-normalized data into idealized tables, and use the original tables solely for importing the data.

Despite that reassurance it was remarkably difficult to accept that doing the 'wrong thing' programmatically was the 'right thing' in a project scope.

<comment><USER10> I took the exact opposite approach in a personal project. In my professional experience I have seen this exact same pattern with stored procedures use to hide poorly designed tables. After time, more entropy occurs in the system. Being able to change things comes to a crawl as you have duplicate data due to the initial poor schema design.

Many of the current databases like Postgresql let you create views. And the performance even on a smaller machine is quite good. So if you stick to a normalized schema and build views, it will pay dividends later on.

</comment></comment><comment><USER11> I think this needs to be said to a lot of stubborn egotistical designers too. Ego in some ways is good but needs to be controlled and put aside so projects get the most effective outcome.

<comment><AUTHOR> Absolutely. Same for designer, strategists, etc - however for some roles it's easier to "hack stuff together" than others.

<comment><USER11> I've seen designers simply copy and paste from an "inspirational" pinterest board, strategists copy and paste the first idea from an article or speech or book - hacking stuff together is for more than simply technical people.

</comment></comment></comment><comment><USER12> My first step would have been to search Amazon for a web enabled door buzzer.

Cool project though

</comment><comment><USER13> In addition, once you have hack solutions that are validated by users, replacing them with more robust solutions is extremely satisfying.

<comment><USER14> Nah. We just throw another hack on top of it.

<comment><USER15> If it works - don't fix it, usually wrongfully applies here.

</comment></comment></comment><comment><USER16> Being able to redefine the problem to get at a "quick and dirty" solution is absolutely a useful skill. What I think gets glossed over in the fine article and in some of the other comments, is that this is really only a _good_ approach when one can also see the full solution as well and understands how to evolve past the "mechanical finger" if it becomes necessary to refine the system.

Where people get into trouble is when they have a short problem space horizon and don't have a decent feel for the trade-offs being made and a reasonable understanding of how the "wrong solution" is related to the "right solution". That can lead to the creation of a hack-y, fragile and _unchangeable_ system that can really limit progress in the future.

<comment><AUTHOR> Definitely.

If you know you're cutting corners, the ability to change in the future should be the priority. It usually means that you need to consider how the "perfect" solution would look like, so you know where the possible refinements will come to play.

</comment></comment><comment><USER17> Perhaps I am misunderstanding the discussion and do not see the "wrong" way: it seems that this consistent, incremental improvement is the "right way" to get to the the "right result". Isn't that very much a tenet of a whatever one may want to call a "lean start-up"

"""

We started with a completely unscalable solution, which enabled us to validate the need. We then evolved it, step by step, to make it support more and more users. On the way, we learned not only about our users, but also discovered what the technology requirements were. We can only speculate what the outcome of the project would have been if we hadn't let ourselves find a "quick and dirty" solution.

"""

</comment><comment><USER18> I can't. My first job out of college was extremely toxic. It was the other developers' job to completely trash anyone else's code. It was sport to them. Now, even several companies later, I have anxiety going into a code review.

</comment><comment><USER19> This idea is basically all about the future. If you don't have to worry about the future whatsoever, or have no business worrying about it (e.g. you're in a startup that might die in 6 months), by all means hack it together, get as far as you can, and "borrow" as much technical debt as you can rack up.

The longer the future of the project, the more likely that tech debt will have to be repaid. And the more closely you're involved with it, the more likely it's you who'll be paying it.

</comment><comment><USER20> It may not be absolute advice, but certainly applicable in many companies.

For instance getting a new environment setup inside a company that is a big Azure customer. There are forms, reviews, cost centers, and more reviews. Even to get a QA environment. I have access to a subscription, and more than once I've just set things up for people.

We're talking potentially weeks of time lost just to start working.

Not to mention the seemingly severe lack of willingness to prototype within an organization these days.

</comment><comment><USER21> Thanks for including multi-megabyte pointless animated GIF. :|

</comment><comment><USER22> The coolest thing about ignoring trends is that most of them go away again.

I pity the fool who did test first development on applications with less than 10 functionalities for instance.

Even as a manager it's the gaffatape programmers who end up saving the day rather than the best practices.

Obviously I won't advocate against following best practices. It's just that people never seem to agree on what they are, making continuity rather hard to pull off over longer periods of time.

<comment><USER23> It's really hard to get gaffertape version 3.0 out the door. Those best practices are ultimately about reducing wear and tear on the development team, so you can keep momentum for a long long time.

But since you can make pretty much any development strategy work for about 18 months, by the time the consequences are felt either those people are gone or nobody still there can paint a clear cause and effect story.

<comment><USER22> Which is the text book explanation, but you can gaffatape and still do SOLID, making everything easily replaceable later on.

The key feature of gaffatape programming is that it gets shit done, to make sure you're still around to do a 3.0 release.

The key downside of gaffatape is that it requires better talent, because your programmers need to know how to hack it in a way that won't ruin your codebase.</comment></comment></comment>


Fighting the Superstitions of Software Development: Questioning the Assumptions - <AUTHOR> http://www.cio.com/article/2373826/careers-staffing/fighting-the-superstitions-of-software-development--questioning-the-assumptions.html <comment><USER2> As a recent university graduate, I think this is good stuff to hear for me. I think the point of the article compliments Knuth's adage on premature optimization. It's important not to focus on details if you're not 100% sure they'll be important in the big picture.

</comment><comment><USER3> Is it true that this is the most effective way to run a software organization?</comment>


Deutsche Bank fined for $10B Russian money-laundering scheme - <AUTHOR> http://money.cnn.com/2017/01/31/investing/deutsche-bank-us-fine-russia-money-laundering/index.html <comment><USER2> If you think about it, banking is pretty crazy.

According to mainstream econ theory: Money is a: (1) medium of exchange; (2) unit of measure; (3) store of value

If there's any lessons I learned in undergrad econ that I wish the world would wrap its head around, it's two things:

1 - There's nothing scientific about money and banking which makes it a good idea for banks to gamble with other people's money. Paul Krugman was very passionate about this years back--saying he wished banks were run like utility companies and let hedge funds and ibanks go gamble with their own money--but he stopped talking about that--though I'm positive he'd still support fractional reserve banking and low-risk gambling (which are traditional bank lending services).

2 - though macro- and financial-econ does does use quite a bit of mental gymnastics, pseudo science, quantitative analysis, and hand waving to attempt to convince you that central banks and monetary policy are good ideas, the fact is they're institutions based on the principle of financial alchemy. Couple that with a history of corruption, secret lending programs and questionable authority... I have no idea why people tolerate this.

Unfortunately, as crazy as it sounds, these ideas would make me a total heretic within the field of economics if that were my profession.

Long-winded way of saying that every time I see a banking scandal it doesn't surprise me: the whole thing is built on an empire of

I mean if you were a benevolent creator of a nation's economy (sim city type of scenario) you'd want banking to be as efficient (read:small) as possible while still effectively accomplishing what limited role it does play. On the other hand, VCs, private investors, hedge funds. etc should be permitted to go invest their money on their own accord. That might sound like common sense but it's not what our legislation provides.

</comment><comment><USER3> gonna be the wild west with even less regulation</comment>


Check out the brand new Swift client for the FeathersJS API framework - <AUTHOR> https://blog.feathersjs.com/feathersjs-the-great-swiftening-127949f85275 <comment><USER2> I'm glad to see Feathers growing and adding additional clients. While I'm not going to personally benefit from this one (although I do have a React Native project that uses the standard Feathers JS client) -- it's great to see the flexibility of the framework.

Developers continue to throw new and interesting use cases at it, and I've yet to see it fail. I suppose we shouldn't be surprised, since Feathers doesn't do all that much to begin with-- most of its key dependencies (e.g., express, your favorite ORM adapter, etc) are doing the heavy lifting.

Feathers has managed to tie a few different pieces of solid technology together to create high value with very little additional code, while still maintaining its adaptiveness. Few have achieved that in similar projects.

</comment><comment><USER3> Is there a list of clients?</comment>


Debian to accept non-packagers as Debian Developers - <AUTHOR> http://www.debian.org/vote/2010/vote_002

<comment><USER2> What does this mean to a person like me who is just aspiring to be a Linux developer/user and is looking for a good distro to start?

<comment><USER3> My advice: get Ubuntu or Debian, and help fix bugs. Report them, investigate them, discuss them with the developers. Propose improvements, with patches. Don't get bent out of shape if they reject your ideas, but try and learn from it.

<comment><USER2> Thanks. That was helpful. Who can help on how to get started with Linux programming? Is there any one for newbies and beginners?

<comment><USER3> Well, "Linux programming" is a very broad subject. Do you want to do GUIs with Tcl/Tk, kernel modules in C? Scientific applications in Fortran?

<comment><USER2> I wanted to get into Kernel programming but I do not have infrastructure nor knowledge. I am really fond of FOSS and was hoping that I could devote some time to solve bugs too (other than creating FOSS myself) and get into the FOSS world.

</comment></comment></comment></comment></comment><comment><USER4> This sounds like a generally positive, inclusive sort of resolution, but what greater context does it take place in? I admittedly don't know much about what being a Debian Developer means.

<comment><USER5> It sounds like they're trying to formally recognize people who contribute to Debian in other ways than coding by broadening the criteria for Debian Developer status. If that's correct, I'd say it's a nice gesture.</comment></comment>


New GitKraken Pro Pricing - <AUTHOR> https://blog.axosoft.com/2017/06/01/gitkraken-pro-pricing-enterprise/ <comment><AUTHOR> This is very good news for any companies that are behind a firewall that want to unleash the Kraken.</comment>


Browsing your website does not mean I want your spam - <AUTHOR> https://medium.com/@fredbenenson/browsing-your-website-does-not-mean-i-want-your-spam-3821267e902#.hkfgwgvz4 <comment><USER2> I wonder how I can opt-out of Criteo's db?

<comment><USER3> I'm more interested in blocking their cookie; apparently Ghostery blocks them by default.</comment></comment>


Google Reader updates and loses a bunch of data - <AUTHOR> http://groups.google.com/group/Google-Labs-Reader/browse_thread/thread/f2143760857b0b6b <comment><USER2> Where did it "loose" this data? Sorry, couldn't help myself. :-)

<comment><AUTHOR> Damn, that makes me feel retarded. I don't think I'd want you to _help yourself_ on that one - it deserved to be pointed out.

I edited the title.</comment></comment>


Start-Up Aims for Database to Automate Web Searching - <AUTHOR> http://www.nytimes.com/2007/03/09/technology/09data.html?ex=1331096400&en=a87d4f61e6052888&ei=5090&partner=rssuserland&emc=rss <comment><USER2> I'm going to go ahead and cross-post this from the other article about freebase.

Disclaimer: I admire Daniel Hillis greatly, perhaps irrationally.

That said, Metaweb sounds amazing. If it takes off, it will be not so much a useful product in itself, but an enabling technology for an entirely new class of products. Imagine the possibilities that arise from having a relatively complete, constantly evolving ontology of everything. All of those nifty tricks that computational linguists and proof theoreticians can do over finite domains, using very limited ontologies, become possible for all sorts of other applications. Armed with an ontology that closely matches the real world, it is finally possible to write code that can reason about the real world, rather than just throw Bayes law at it and hope something useful falls out.

</comment><comment><USER3> While DH is a smart guy, one of our rules of thumb at YC is to be skeptical of any application containing the phrase "semantic web." It's a bad idea magnet the way AI was in the 1980s.

<comment><USER2> You're right, of course (and I need not point out the irony that DH was in deep with AI), but I'm holding out hope (and not just because I'm bitter that the Connection Machine failed!). The main reason (in my opinion) that the semantic web has failed so far is the reliance on 1) predefined, very limited ontologies, and 2) creator-generated rich metadata. Freebase seems to me like, if not the solution, at least a good step in the right direction in terms of addressing these. The real question, of course, will be whether a userbase springs up to keep it up to date, and whether the logic behind it can keep it reasonably self-consistent.

Here's to hoping.

</comment></comment><comment><USER4> I think it sounds like a pretty interesting idea. I'm excited to get my hands on the API and see what kind of information you can really pull out of it.</comment>


Sexting, Email, and Other Tech Basics That Mystify the Supreme Court - <AUTHOR> http://www.motherjones.com/politics/2014/06/supreme-court-tech-fails-sexting-aereo <comment><USER2> I could not read that article without becoming thoroughly enraged. How can they make rulings on these kinds of cases with such an incredible lack of understanding of the subject matter.

<comment><USER3> Similarly, how could you pass judgement on the court with such an incredible lack of understanding of how it operates? Judges and juries shouldn't need to understand every aspect of every possible topic which could come before them; that's absolutely ridiculous! Their domain of expertise is the /law/, something of which you are no doubt as ignorant as they are of technology.</comment></comment>


Financial trader leaves BBC speechless ... [video] - <AUTHOR> http://lifeissavage.com/financial-trader-leaves-bbc-speechless-after-saying-goldman-sachs-rules-the-world-video/

<comment><USER2> This story has already been dismissed, eg: <http://news.ycombinator.com/item?id=3045980>

<comment><USER3> Yes, but if what he said did happen to be true wouldn't it _also_ be dismissed?</comment></comment>


Joxa: A functional lisp on the Erlang VM - <AUTHOR> http://joxa.org/

<comment><AUTHOR> The author also implemented Lua and Prolog on BEAM (the Erlang VM)

<comment><USER2> I think you're thinking of LFE, which is another lisp on the BEAM.

<comment><AUTHOR> good catch! I think I meant to say that Joxa was like LFE, which is by rvirding who did erlog and luerl.</comment></comment></comment>


The Little Handbook of Statistical Practice (2012) - <AUTHOR> http://www.jerrydallal.com/LHSP/LHSP.htm <comment><USER2> I've often told people in the passing that "if you have 20 parameters and p=0.05 you should expect with random data to have something register as significant". Looks like OP has beaten me to it to illustrate this. [1]

[1] [http://www.jerrydallal.com/LHSP/coffee.htm](http://www.jerrydallal.com/LHSP/coffee.htm)

<comment><USER3> If you have 20 parameters, you should probably compare the effect sizes first. If there are no outliers, p=0.05 or p=0.001 can't make the result important.

[https://www.tandfonline.com/doi/full/10.1080/00031305.2019.1...](https://www.tandfonline.com/doi/full/10.1080/00031305.2019.1583913)

> no p-value can reveal the plausibility, presence, truth, or importance of an > association or effect. Therefore, a label of statistical significance does > not mean or imply that an association or effect is highly probable, real, > true, or important. Nor does a label of statistical nonsignificance lead to > the association or effect being improbable, absent, false, or unimportant. > Yet the dichotomization into "significant" and "not significant" is taken as > an imprimatur of authority on these characteristics. In a world without > bright lines, on the other hand, it becomes untenable to assert dramatic > differences in interpretation from inconsequential differences in estimates. > As Gelman and Stern (2006 Gelman, A., and Stern, H. (2006), "The Difference > Between 'Significant' and 'Not Significant' Is Not Itself Statistically > Significant," The American Statistician, 60, 328–331. DOI: > 10.1198/000313006X152649. ) famously observed, the difference between > "significant" and "not significant" is not itself statistically significant.

<comment><USER4> What do you say about neural networks with thousands of parameters?

<comment><USER5> Neural networks are just used for prediction, not inference.

</comment></comment></comment></comment><comment><USER6> This comes at a good time! I was just talking with my spouse about why you put n-1 in the denominator when you calculate variance. I always liked "because you used up a degree of freedom calculating the mean," but I feel like that's kind of hand-wavy. (Obviously, I'm not a statistician.)

<comment><USER7> You can argue either way. dividing by n is the maximum likelihood estimator, but dividing by n-1 is the unbiased estimator. Depends on what you like. Most people prefer unbiased estimators when they are available.

<comment><USER8> What does it mean for it to be "unbiased"? What does it mean to "use up" a degree of freedom?

I don't mind if things just can't really be explained intuitively because they are fundamentally technical, but your explanation and the parent's both do this thing where it sounds like it's explaining things in plain common language, but isn't actually because it isn't clear what those plain words mean in this context.

<comment><USER9> Unbiased means that if I draw infinitely many random samples from a population and average a statistic (in this case standard deviation) across all the samples, the answer will be the statistic computed from the population itself. If one divides by n instead of n-1, the estimate for standard deviation will be be (n-1)/n too small. One reading this might think, "Wait! We're going to infinity so the ratio converges to 1." That's true if the size of each sample also goes to infinity but not if we draw millions of ten item samples.

As for using up a degree of freedom, the easiest way to build intuition for why this is a useful concept is to think about very small samples. Let's say I draw a sample of 1 item. By definition the item is equal to the mean so I receive no information about the standard deviation. Conversely, if someone had told me the mean in advance, I could learn a bit about the standard deviation with a single sample. This carries on beyond one in diminishing amounts. Imagine I draw two items. There's some probability that they're both on the same side of the mean, in that case, I'll estimate my sample mean as being between those number and underestimate the standard deviation. Note that I'd still underestimate it even with the bias correction, it's just that that factor compensates just enough that it balances out over all cases.

A simple, concrete way to convince yourself that this is real is to consider the standard deviation of a variable that has an equal probability of being 1 or 0. The standard deviation is 0.5. But if we randomly sample two items, 50% of the time they'll be the same and we'll estimate the standard deviation as zero. The other 50% of the time, we'll get the right answer. Hence, our average is half the right answer (n/(n-1)=2/1). The correction makes the standard deviation double what it should be half the same while remaining zero in the other cases. This also suggests why dividing by n is referred to as a the maximum likelihood estimator.

<comment><USER10> This is very helpful, especially the example at the end, thanks. I think the difficult part to understand is that dividing by n leads to an estimate that is somehow too small. The intuition tells you that dividing by n would just give you the true average.

</comment></comment></comment></comment></comment><comment><USER11> Just as a warning, while the book mentions multiple comparisons, it's possible to read the book in such a way that one would skip that section.

The section called "A Valuable Lesson" does show that doing multiple tests with the same threshold of P<0.05 does cause inexistant effects to be reported as statistically significant, but the section on correcting for that is present much later in the section about ANOVA.

That's actually a pretty severe flaw, especially for a handbook that is likely to be read partially.

</comment><comment><USER12> I just finished up a class that covered this material. Is there a good next step or book for someone interested in data science.

<comment><USER13> What software / lang are you currently using to analyze data?

<comment><USER12> It used excel and Python. I've also personally used R outside of the class.

<comment><USER13> That's good you got exposure to Python (and, I assume, numpy/scipy/pandas etc.), and you're already familiar with R. Are you majoring in data science, and just looking for something extra?

If you're interested in machine learning, Andrew Ng Coursera course is almost a right of passage at this point - it's very accessible: [https://www.coursera.org/learn/machine- learning](https://www.coursera.org/learn/machine-learning)

Kutner is the bible on regression models (tho, not a super fun read): [https://www.amazon.com/dp/0073014664](https://www.amazon.com/dp/0073014664)

This was one of my favorites as an undergrad: [https://www.amazon.com/gp/product/0805833889](https://www.amazon.com/gp/product/0805833889)

<comment><USER12> I'll check these out, thanks for the recommendations. I'm not majoring in Data science, but I do find it really interesting and want to learn more.

</comment></comment></comment></comment></comment><comment><USER14> I love tiny, reference-able resources like this!

</comment><comment><USER15> The anouncement on top of the page[0] makes me sad. I don't want to use a Kindle, neither files in this format. Why no ePub option?

[0]:[http://www.jerrydallal.com/LHSP/kdp.htm](http://www.jerrydallal.com/LHSP/kdp.htm)

</comment><comment><USER16> beginner questions: how is information inhere better than others?

</comment><comment><USER17> Just sharing for information: written in 2001 and last modified in 2012. It's great that some resources are not aging.

<comment><USER18> Well, statistics hasn't changed much has it?

<comment><USER19> At the level of application to scientific practice, yes, much has changed. For a start:

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

<comment><USER20> You have to understand the base to understand the crisis.</comment></comment></comment></comment>


Ask HN: Alternatives to Google Analytics? - <AUTHOR> I'm working on a new project that includes a RESTful API. I'd like to avoid Google Analytics, and track my API endpoints. Ideally I'd like to self host my analytics. Is there anything better than AWStats these days? <comment><USER2> You can check different open source options here that you can download and deploy on your own servers: [https://opensource.com/article/18/1/top-4-open- source-analyt...](https://opensource.com/article/18/1/top-4-open-source- analytics-tools)

</comment><comment><USER3> [https://matomo.org/](https://matomo.org/)</comment>


Teaching Tech Together - <AUTHOR> http://teachtogether.tech/ <comment><USER2> I'm curious to see some examples of rule 6

> Never hesitate to sacrifice truth for clarity.

My initial thought is that it is saying that it is OK to omit some details if they would only serve to confuse learners based on what they currently know?

for example - I volunteer with CodeNation teaching HTML/CSS/JS to high school students and we don't explain that `$` is an alias for the `jQuery` object, or any other details about it - because they don't need to fully understand that to start working with it.

<comment><USER3> You're absolutely right. It's basically lies to children ([https://en.wikipedia.org/wiki/Lie-to- children](https://en.wikipedia.org/wiki/Lie-to-children))

Their mental models aren't sufficiently complex enough to truly understand the truth, so don't bother peeling away the layers of abstraction, just teach them what they need to know to be successful. Eventually, as they advance, they'll gain a more complex understanding, and get closer to the truth.

When teaching physical computing I use a python library called gpiozero ([https://gpiozero.readthedocs.io/en/stable/](https://gpiozero.readthedocs.io/en/stable/)). This lets kids write code such as:

      from gpiozero import LED
      red = LED(17)
      red.on()

to light an LED. They don't need to know that the led class is inherited from a generic output device. They don't need to know that the `on` method means the gpio pin they are using is `high` or that it's outputting around 3.3V. They just need to know that when they run the code, the LED turns on.

When/if they go on to learn more, the layers of abstraction can be removed and they can learn more about what is going on under the hood.

<comment><USER4> I've always felt US mathematics education is a case study in what happens when "lies for children" goes terribly wrong because the teachers never actually encounter a version of the field that isn't a lie.

My experience volunteering in an AP CS class makes me wonder if something similar is happening in K12 CS at the moment. The students knew by heart the JavaDoc for String.format but struggled with loops. The teacher also struggled with simple nested for loops. Kind of made me want to throw away the damn laptops and just spend some time solving problems on pencil and paper...

</comment></comment></comment><comment> good-idea This is an amazing resource. Thank you!

</comment><comment><USER5> Nothing but praise for Greg's work, I've worked with him in person and his evidence based approach works wonders.

Apply the lessons in the book anytime you need to teach people then you'll realize how much time you wasted before. Many of the lessons are not limited to technical subjects either.

Building a concept map, for example, forces you to distill what you're trying to teach instead of trying to cram as much knowledge as you can into a lesson.

</comment><comment><USER6> This is useful to me. Thanks!

</comment><comment><AUTHOR> Corrected URL: [http://teachtogether.tech/](http://teachtogether.tech/)

<comment><USER7> Fixed. Thanks!</comment></comment>


Air Conditioning Is the World's Next Big Threat - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-06-28/air-conditioning-is-the-world-s-next-big-threat <comment><USER2> Rising energy usage is an invariant. If it weren't for an increased demand for air conditioning, it would be for an an increased demand in other areas - transportation, computing, desalination, etc.

The answer is not to try to stop development - the answer is to cleanse the sources of electricity.

<comment><USER3> > The answer is not to try to stop development

"Stop development" is a bit of an alarmist phrase. Few want that. Also, reducing demand in specific areas is still beneficial even if overall demand continues to increase. There's no reason not to address _both_ demand and supply.

<comment><USER4> How do you propose to "address demand"?

<comment><USER3> Tough one. Let me think a moment. Hey, didn't I just read an article about how _air conditioning_ represented a significant amount of unnecessary energy use? Crazy idea: let's reduce that. While we're at it, maybe we could also do things to reduce the number of cars on the road, or increase efficiency. We could build stuff using materials and processes that are less energy- intensive. There are a hundred other ways we could reduce the number of kWh used per day, separately from changing how those kWh are generated.

<comment><USER2> > Crazy idea: let's reduce that.

If you lived in a hot climate (like India, which is one of the countries TFA referred to as a source of high future demand), then you'd understand just how crazy of an idea that is. (side note: your profile links to a site with a bio claiming that you live in Massachusetts. I rest my case.)

Look, it's not that the idea has _zero_ merit. There are architectures which do a better job at keeping the interiors cool, and incentives could be set up to favor those designs. But such designs are also usually bone-cold in the winter, and you see energy usage pendulum-swing back to high in other parts of the year. Plus, locales with hot weather typically have local architectures with these kinds of "natural cooling" features anyway, so it's usually not anything new.

There's a reason why I think calls to reduce air conditioning to be anti- development, and it's because I happen to live in one of said climates, and there's no way I'd get anything done without air conditioning. Unless we want to keep the underdeveloped regions of the world in poverty, increased demand for air conditioning is simply inevitable.

</comment></comment></comment></comment></comment><comment><USER5> Heat is many times more expensive than air conditioning expecially in temperate climates too cold for heat pumps during winter. It's one scenario where global warming will actually decrease energy usage.

<comment><USER6> Well it is also political/rhetorical to some degree. Air conditioning is energy inefficient while heating technically starts with a 100% conversion efficiency. You also can't say 'just don't use heat' without looking idiotic and out of touch.

Meanwhile air conditioning is considered a luxury even if lack of it also results in people dying - both are of course on a spectrum in terms of necessity depending on circumstances.

<comment><USER7> > Air conditioning is energy inefficient while heating technically starts with > a 100% conversion efficiency.

This is a common misconception- electrically resistive heat generation is _not_ the most efficient way to heat a room with electricity. Rather, you can move about two to three times more heat per unit energy using a heat pump than you can with simple resistive heating.

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

<comment><USER8> Nothing about the existence of heat pumps makes "100 conversion efficiency" a misconception.

<comment><USER5> It is. Heat pumps don't create heat, they move it from one side to the other. You can move 3-7x as much heat as the energy it takes to create it

<comment><USER9> Efficiency = Work out/energy in ;) Resistive heating is indeed 100% efficient. There are better ways to heat up things tough.

<comment><USER10> Heat pumps are the most effective way of cooling or heating something as long as you have good insulation and the temperature range is within the effective range in which the pump can operate.

This is why you get over 100% efficiency in terms of work vs output.

Say you have a 100% efficient heater it means for every watt you put in a watt of heat is released to the environment.

A heat pump doesn't releases anything it moves it from one side to another so for one watt of energy that it takes to operate a heat pump you can move up to 10 watts worth of heat (some pumps can be even more efficient than this) form one side to another.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Would demand for air conditioning not typically coincide with great local conditions for solar energy generation?

(If the article covered this, my apologies - I couldn't read the whole thing without having to pay).

<comment><USER12> There is some overlap as the article mentions. There's also a synergistic secondary effect of residential solar not mentioned by the article: PV panels on your roof shade your house and the solar energy that was heating your house is now cooling it.

But the overlap is not perfect. Typically the hottest part of the day is a few hours after solar peak, and it's often still hot after the sun goes down. So you still need storage and/or grid power for complete A/C coverage.

<comment><USER13> With sufficiently good insulation (see passive houses in cold climates), the house should follow the outdoor temperature quite slowly and not change much over the day.

<comment><USER14> Insulation, or thermal mass - this is why adobe and rammed earth are suitable building materials for hot climates: thick walls take a lot of time to heat up and cool down and help to stabilise the inside climate.

</comment></comment></comment></comment><comment><USER15> Could a partial answer to the power question be a large-scale bike system merging the power from people pedaling (probably some hydraulics in there) to drive a generator?

It seems that people could burn a few calories and generate substantial kilowattage with a bit of clever engineering.

Same concept applied to an Archimedes pump bringing seawater to the top of a gravity-driven reverse-osmosis purification plant could increase arable land.

<comment><USER16> We built a setup like this where four people would power a monitor with sound and a small video player to show short movies like Big Buck Bunny. The point was to demonstrate how utterly inefficient this power generation method is.

<comment><USER15> So, by the time enough people were put in parallel, the problem would move to maintaining literally hundreds of bicycle devices, swapping out crews of sweaty bodies with fresh meat, and then keeping everyone hydrated and medically fit.

Sounds like we're several innovations away.

Let's put Elon Musk on the task.

<comment><USER17> Elon is already on the task. Only he is being realistic and producing something outside of cynical reddit-style BS.

</comment></comment></comment></comment><comment><USER18> Why next? It's already an issue.

</comment><comment><USER19> I would rather make my commute by scooting the fifteen miles on my ass across hot asphalt than sleep in a 90 degree bedroom.</comment>


Twitter is Getting Killed - <AUTHOR> http://blog.instavest.com/infographic-10-reasons-why-twitter-is-dying

<comment><AUTHOR> Thanks for the typo. That has been fixed.

To address your comment on the CEO search. The markets do not like surprises. There is too much speculation with Jack Dorsey as the interim CEO. Especially because Dorsey is the CEO of Square and SqUARE is exploring an IPO. This further confuses investors. What the market wants is guidance. The fact that the company of this size has not named a CEO is puzzling. Large companies don't wait 2 months to name a successor - especially after they have forced the incumbent out. Most boards have a plan.

</comment><comment><USER2> One of their 10 reasons that Twitter is "dying" is: "Still no CEO. Dick Costello [sic] forced out in June 2015. Jack Dorsey is Interim CEO. No update on CEO search."

It's July. Did you really expect to have news on the new CEO less than two months after the outgoing CEO stepped down?

Also, misspelling Dick Costolo's name severely damages the credibility of this piece.</comment>


US explores possibility that coronavirus started in Chinese lab, not a market - <AUTHOR> https://edition.cnn.com/2020/04/15/politics/us-intelligence-virus-started-chinese-lab/index.html <comment><USER2> Seems like doing this _after_ handling the virus in the US would be more pertinent in order of priority, but the White House is more hell bent on finding a scapegoat to take the blame.

Maybe poor safety standards in China's lab did lead to the virus getting out. There's probably a bunch of other impacted countries that would like an explanation too. There's plenty of time to do this after the problem first gets fixed.

This is like having Chernobyl explode, going "sucks for you" at the USSR, ignoring the situation, then when the radioactive dust drifts into the country, obliviously scramble half-baked solutions, then blame Chernobyl for exploding. There's some delusional world out there where because I didn't originate the problem that exempts me from having to deal with it and automatically makes it go away. Yeah... go tell that to climate change.

<comment><USER3> You need to do both now: handle it in the US and investigate. The longer you wait to investigate, the harder it will be to determine the truth of the matter.</comment></comment>


VMware now supports Hyper-V mode - <AUTHOR> https://blogs.vmware.com/workstation/2020/05/vmware-workstation-now-supports-hyper-v-mode.html <comment><USER2> This might be a boon at my work, where I need to use vagrant and I would also like to use docker workstation on my way Windows machine at work. work mandates that we run on Windows or Mac and most of my colleagues weren't run on Windows so it's important that we be able to run both things on Windows.

</comment><comment><USER3> I'm not sure why the submitter felt it necessary to edit the original title, " _VMware Workstation 15.5 Now Supports Host Hyper-V Mode_ ", but that one is both more specific and more accurate.

Also, I may be wrong but it sounds like this applies only to "Workstation Tech Preview 20H1", for now.

\---

ETA:

Release Notes for 15.5.5: [https://docs.vmware.com/en/VMware-Workstation- Pro/15.5/rn/VM...](https://docs.vmware.com/en/VMware-Workstation- Pro/15.5/rn/VMware-Workstation-1555-Pro-Release-Notes.html)

> _Supported Host Operating Systems:_

> _Windows 10 20H1 build 19041.264 or newer_

</comment><comment><USER4> Just a note that I think could be important for someone here, the nested virtualization is not currently supported. What this means ? You will not be able to run another hypervisor inside the guest vm.

</comment><comment><USER5> This also means WSL2 and Docker will play nice with VMWare in 2004, which is nice.

<comment><USER6> lol</comment></comment>


Ask HN: A friend introduced me to a client, now he wants a 25% cut - <AUTHOR> I work as an independent software consultant in a somewhat specialized area. A friend recently introduced me to the founders of a company that are looking for help in this area. It's interesting work and I want to pursue it. However, my friend is insisting that I bill his company at my rate of $X/hr, and he bill them at $1.25X/hr. The client appears to be fine with the rate he quoted them.
I understand that business is all about relationships, and I want my friend to be compensated for the value that he's provided. However, this seems pretty steep to me, especially if it turns into a long term engagement. In my experience, recruiters usually charge a one time fee, but his reasoning is that he's more of a staffing agency than a recruiter.
While theoretically I should be content with earning my rate, this has also made me realize that I should be charging more.
One possibility I'm thinking about is that we engage under his terms for a short term initial contract, after which point I start billing the client directly, either at my current rate or at his. However, I'm not sure how this might be received by both the client and my friend, nor what the norms are in this type of situation.
What does HN think? What is the value that a staffing agency provides to justify their cut? Is my friend being reasonable? <comment><USER2> If you're getting your full rate, let your friend enjoy marking up your services. Make sure he's paying you promptly though, not paying you after he waits for the final client to pay his invoice, so specify he's your client in the contract and that he's comfortable paying your invoices in a time frame you expect not dependent on the final client paying his invoice.

Maybe he will bring you other engagements, you could even outline this in your contract with him that he will actively market you to his network.

Finding projects isn't trivial, it's mainly relationships and who you know. If he can keep bringing you projects I'd enjoy the ride.

Maybe let him know that for future engagements like this you're increasing your rate if you think you need to increase it.

<comment><USER3> The standard rate doesn't include a premium for the nonstandard conditions.

</comment></comment><comment><USER4> If he's the one managing the relationship, doing the end-customer billing, it's perfectly normal to have a markup, especially if it's for a short-term engagement. He owns the relationship and is subcontracting you to perform your service. A referral fee would be appropriate if he was handing the customer off to you for direct billing and leaving you to manage your relationship directly. In essence, he's also warranting your work (which means he's bearing risk). Don't be so quick to say that this means you should raise your rates. If you did, he might not sub work out to you anymore and you'd lose the advantage of having people like him finding you work (which is a cost you'd need to bear). We have worked with subcontractors like this where they see us marking up their service and think they should raise their rates to what we're billing. That's the wrong response, because I can't then mark that up further. It just means we're going to find someone else to do the work for the rate we need. Ultimately, maybe it would be good to consider a higher bill rate for direct engagements and a lower bill rate for subcontracting jobs, and in the meantime try and move more of your business into direct engagements. But again, this takes work and will cost you, but at least you derisk the approach by continuing to get business (and build reputation) through subcontracting.

</comment><comment><USER5> I have built two successful consulting groups, while some people here are saying 25% cut is normal that is astronomical in my experience for what he is providing. I would never agree to that rate just for an introduction, 8-12% is more reasonable for an intro and payable only when the client pays their invoice.

If your friend is doing some work and on-going management or something than that's a different story and this may all be very fair. But if he is literally just making an intro and then now saying you have to sub-contract from him that is odd to me and for me and has red flags all over the place. Essentially it seems like he wants to control the client relationship and just have you do the work, there are a lot of potential downfalls here. For example, if you aren't talking directly to the client and instead he is playing middle man you may get a bad wrap from the client because your friend doesn't understand something properly. That client then talks to other potential clients and next thing you know you are taking a hit for your friends behavior. If he is letting you have direct access to the client and he literally is just billing, his 25% is insane. Other downfall is if you don't control the client relationship how are change requests going to go? Is he going to properly represent them? How is billing going to be handled, they pay him net 30 and you wait again to get paid so you now risk 45-60 days of non-payment? Is his company big enough you can feel confident he'll pay you timely and properly? If things go south, is his company large enough to compensate or protect you during a legal suit? Is he carrying all the proper insurance? This just has so many red flags to me.

Essentially IMO your friend is taking advantage of you by introducing you to a client he knows (maybe does business with regularly) and he knowing you charge too little is jacking your rate to something more reasonable and taking the difference. With friends like that you don't need any enemies for sure. I usually introduce friends to clients for free because it is good business to make sure clients stay happy and my friends find work. Plus if a friend fucks up I am not on the hook for their screw up, just for the intro which I can manage around. For people I don't know or that are just acquittances, I'll do intros but I do take a referral fee paid as they are paid from the client. Only time I take money for an intro when a friend is involved is if I need to get involved or the value of the contract would be such they can afford to pay a fair referral, but I'd never ask for 1/4 of the value even if I told them to charge 1.25x more.

Don't compare to staffing agencies, that isn't an accurate representation unless that is the business your friend is in.

<comment><AUTHOR> Thank you very much for the detailed response, this is extremely helpful.

> But if he is literally just making an intro and then now saying you have to > sub-contract from him that is odd to me and for me and has red flags all > over the place.

This is indeed the case. But the work is interesting, and I believe my friend is just inexperienced. How do you suggest I proceed?

> Is his company big enough you can feel confident he'll pay you timely and > properly?

As far as I know this is among his company's first engagements of this kind. I don't believe he is able to pay until the client pays him.

> If things go south, is his company large enough to compensate or protect you > during a legal suit? Is he carrying all the proper insurance?

These are great questions, thanks. I will follow up with him regarding legal and insurance.

> For people I don't know or that are just acquittances, I'll do intros but I > do take a referral fee paid as they are paid from the client.

I think this kind of arrangement would make more sense under the circumstances. What is the fee you normally take? Do you have any advice for how I can convince my friend that this is the better option for both of us?

> Don't compare to staffing agencies, that isn't an accurate representation > unless that is the business your friend is in.

I believe that is the business he wants to be in. Can you please clarify why this isn't an accurate representation?

Thanks again, you've been very helpful already!

<comment><USER6> _> I believe that is the business he wants to be in. Can you please clarify why this isn't an accurate representation?_

Not the parent, but: a staffing agency typically handles lots of administrative stuff for its workers. They handle billing the client, they make sure taxes are withheld and give you the documentation you need at tax time, they may provide group benefits like health insurance. They also provide the legal entity the client contracts with, so the workers don't all have to incorporate individually. This is the ongoing value they add, they shield their workers from all the messy and complicated hassles that come with entrepreneurship.

If the idea is you're an independent contractor who's still expected to handle all that stuff yourself, your friend isn't acting as a staffing agency. They're just bringing you on as a subcontractor.

As to whether the amount they're asking for is reasonable, _anything 's_ reasonable if all the parties involved agree that it is. It sounds like you don't, and are looking for some justification you can hang that objection off of. But you don't need a justification, you're two parties trying to strike a deal, it's perfectly within your rights to say "I think this deal sucks" and make a counter-offer you like better or even walk away. That may not be _smart_ , depending on how badly you need this work -- remember though, he needs you to make this deal happen as much as you need him! -- but it's absolutely something you can do.

<comment><AUTHOR> Thank you!

</comment></comment></comment></comment><comment><USER7> Consultant here. 20% cut is pretty normal. 25% is a bit high, but not excessive.

Also, no, recruiters often don't charge a one-time fee anymore - they will often get an initial fee plus a percentage of the employee's salary if they stay for a full year.

To your next point, what you're describing about going direct to the client is not only likely a breach of contract, but also generally a dick move. If you want to get 100% of billable with no sales/subcontracting commission, find your own client.

<comment><AUTHOR> > To your next point, what you're describing about going direct to the client > is not only likely a breach of contract, but also generally a dick move.

We haven't signed anything yet. I wouldn't go direct to the client immediately, but rather let him have his cut on the initial engagement. After that point, I feel like I would have more of a relationship with them than he does.

> Also, no, recruiters often don't charge a one-time fee anymore - they will > often get an initial fee plus a percentage of the employee's salary if they > stay for a full year.

Just to clarify: this isn't a full time engagement, but a short term hourly contract, with potential to extend to long term if things work out.

> If you want to get 100% of billable with no sales/subcontracting commission, > find your own client.

This is what I'm struggling with. What does it mean to find a client? Is it the case that as soon as there is someone performing an introduction of any sort, they are entitled to an ongoing fee?

<comment><USER7> It seems like you're thinking about this in terms of perceived value fairness instead of objective if/then outcomes. If your friend hadn't brought the client to you, you would get exactly $0 from them. Ever. 80% of a profitable amount is a hell of a lot more than 80% of nothing.

If you've never actually landed a client yourself, it's _a lot_ more difficult than you're likely thinking it is. I highly doubt this is merely an introduction based on nothing - more likely your friend has been working his network for a long time, vetting potential people who need work done, ruling out the ones that can't or won't pay a decent rate, setting up a business and all the contracts you need _beforehand_ to make it easy to get started, etc. You're also probably not accounting for the fact that being a subcontractor has a lot of benefits. You're not that one that needs to chase POs, AP payments, renewals, etc. on a regular basis.

To your last question, it tends to be a spectrum in practice. A casual introduction that leads to a deal with no actual involvement from the salesperson will have a lower rate (possibly one-time) than one where the person is setting up the whole deal and subbing it to you. In your case, your friend already quoted the company a rate and they're ok with it, so this isn't a casual intro - he basically did the hard part for you.

</comment></comment></comment><comment><USER3> Your standard rate does not include the overhead created by the more complex relationships. Your standard rate doesn't apply a discount for the lower probability of future work when you don't own the client relationship. Your standard rate does not include a risk premium for the increased chance of payment problems, law suits, and misunderstandings.

If you think it's bullshit, then it's costing you. Here you are on HN fooling with "the deal" instead of doing billable work. And it's just the honeymoon.

It takes a while to learn to trust your gut. It takes a while to learn avoiding bad projects is important.

If your friend can find someone else should you take a pass, then your friend can find someone else for the client's next project, too.

My gut is "the deal" isn't in the client's interest. But I could be wrong. The test is your friend getting the client to sign a contract paying 25% of whatever the client pays you. That's the test of a win-win-win.

Good luck.

</comment><comment><USER8> In my market, most consultants bill the customer directly and pay 20% of the first 2 years to each other as finding fee for introducing a new customer.

When they subcontract in the fashion you suggest, it is more about keeping the relationship and looking like more of a one stop shop. It's really not a good way for them in terms of numbers and responsibility.

I would raise my prices on future business to 1.25x or try 1.5x given the indication the market supports it, and so I could pay fees and costs of finding new customers from my standard rates.

I would look to negotiate something that would work in future business in both directions (assuming your friend also does some consulting) making it clear that the more the deal looks like subcontracting the more likely it is a one off deal.

<comment><USER4> > it is more about keeping the relationship and looking like more of a one > stop shop.

IME, it's often about the customer trust relationship and convenience. The customer doesn't want to deal with 10 W-9s and managed 10 new vendor relationships, and they trust us to source the other work and warranty it. A good analogy would be a GC in construction.

<comment><USER8> > A good analogy would be a GC in construction.

Yes, and a GC is very much on the hook, dealing with communication and looking to make as much as any subcontractor on the project even if that is by taking a small percentage from each. If a project amounts to work by one subcontractor, I think a busy GC doesn't make an offer.

</comment></comment></comment><comment><USER9> Everything is fair in business. Your friend has a right to ask you for whatever cut he thinks is reasonable. You have the right to negotiate that. It is simple. But make sure you don't undercut/undermine your friend. I would just say "Hey 25% is a bit high and I would like to give you x% instead".

You may now think that your friend is not really adding a lot of value by a simple introduction but if he had not introduced you to the client who probably are going with you due to the referral, you would make $0. That is how business works. Referral and Networks is the key and try not to burn bridges with anyone.

</comment><comment><USER10> Consultant here, some data points:

30+ years experience, consulting prob 10+ years

If they are paying you on a timely basis (not waiting until they get paid, pay you even they don't get paid). * Yes, OK even if they take up to 100%+

Intro and nothing else: I try to give these away. Your "friend" is trying to exploit you in my view.

Intro and nothing else: If he won't let me take nothing. (He's stretched or otherwise needs financial help) I'd give him 20%.

</comment><comment><USER11> I've done an 80% cut from someone who intro'ed me to a major telco. Sometimes the value of the job is not just the money, but also the connections. He charged them a ludicrous price, but also paid me well.

It depends a lot on his role. I'd be happy to pay up to 50% to someone who acts as a full time agent, dealing with negotiations, client filtering, writing and proofreading contracts, harassing them for payment. They have to eat too. Unfortunately, most people who take this role don't do it very well.

But as a pure referral fee, 10% seems fair.

</comment><comment><USER12> While you could increase your rate, I feel it's fair as your friend company is billing his client for the entire period. For me it feel like your are employed by your friend company. 1.25x is really low then. If he just introduced you to the client then it's not his company who should bill the client but yours. In this case it's your client and your friend just get a commission, 25% seems then pretty high. I usually give 15%. But what I understand is that the business relationship is between the client and your friend, it's not your client.

<comment><AUTHOR> Regarding who the business relationship is between: I've never worked with the client before. But as far as I know, neither has he, beyond introducing me to them.

</comment></comment><comment><USER13> I think that his cut is about normal, I have heard of higher and lower. Both short and long term...

I think you are going for a world of hurt, if you try to cut him out later.

My advise, in the contract with your friend make sure, that HE is listed as your customer (and not the end customer) and hence that HE has to pay you regardless of what the end customer does (i.e. he cannot say "I didn't get paid, so neither will you"). If he barks, then you have some room for negotiation...

Also for a long term engagement 25% is a rather cheap sale (which is even free (in monetary terms) for you)!

<comment><USER14> This:

>My advise, in the contract with your friend make sure, that HE is listed as your customer

That is a reasonable margin, but only when your friend is willing to earn it. Paying for value now will serve you later.

Then, yes! Up your rates for work you source. Leave the margin there for work brought to you.

Find enough, and form a firm. That is where the real money is for both of you. Seems like your friend is already thinking along those lines.

Join him, bring others to the party and make similar deals.

This will leave you and your friend as peers, a great basis for establishing a firm.

Invest in your networking with your time freed up by other people taking on work. Bank some money so you can offer similar value to others.

<comment><AUTHOR> > That is a reasonable margin, but only when your friend is willing to earn > it.

Can you please clarify what you mean by this? Are you saying that his 25% is reasonable as long as he takes on the risk of paying me, regardless of whether the client pays or not?

> Paying for value now will serve you later.

Can you please also clarify what you mean by this?

<comment><USER14> Yes. If it was just an introduction, that does not warrant an ongoing 25 percent. That kind of thing is what finders fees or referral fees are for.

However, if your friend is leveraging his relationship with the customer, and he is carrying the risk, that does warrant an ongoing percentage.

What I mean by both recognizing and paying for value serving you later is you will be participating in and learning from and how to do business at a higher level than just a simple client relationship. You too can cultivate relationships and you too can leverage them and carry risk and profit.

Value takes many forms. And when you learn to see it, pay for it, later you also can do it, and ask for payment.

Just the negotiation on this will benefit you.

Make the case referral vs ongoing customer relationship and carried risk.

You are happy to pay for the latter, otherwise there needs to be a cap on things as you will be doing the work, taking the risk and building the relationship. You should get all the income.

Everything costs something.

If he wants 25 percent, fine! You need to come to an agreement on what that pays for and all is well.

And you need to make sure those things are real, so that your own time, appetite for risk and resources are otherwise free. If they are not, then your friend is not adding value and the 25 percent is a freebie, unreasonable.

And maybe he can only add some value. That is fine too, maybe he takes 20 percent. That is the basis of negotiation right there.

Think in these terms and more deals get made with better terms and fewer hard feelings, everyone adding value, doing work, making money.

Make sense?

Also, do raise your rates. Get a client that will pay them and then find a friend with whom you can make a similar arrangement. Take care of this friend to get your percentage cut.

Does that also make sense as a future possibility?

If it does, then you now have a basis for placing value on time you free up that goes beyond billable hours. That is the next step beyond mere contracting.

</comment></comment></comment></comment><comment><USER15> I did something like this once and was able to have the middleman pay me upon customer acceptance of the time card. I benefited from not having to deal with the receivable. There was also the ability to push off business issues to the middleman and avoid mixing money with the technical work — which was hard for me at that stage of my career.

If you think this may turn into longer term work, negotiate a compromise. Maybe you pay your friend for a year, for a particular project, or something similar.

</comment><comment><USER16> I don't understand why you care if you are Still getting full billing? E.g. list is $100/hr and you are still getting $100/hr net...

</comment><comment><USER17> I give a 25% referral fee standard and bake it in on the backend. Value based projects have plenty of "margin" where I am happy to share the profit. That business wouldn't have happened otherwise.

Does his company regularly practice "finder" services?

</comment><comment><USER18> Your friend is in the wrong here for not discussing terms up front. Maybe an honest mistake by him. Tell him whatever you're comfortable with and walk otherwise. But this "friendship" is likely over regardless of the outcome.

</comment><comment><USER19> If he's marking up by 1.25x, he's actually only taking 20% of the total (0.25, his cut, divided by 1.25, the total charged, is 20%). Dunno, it's probably not too bad. And it is his client after all...

</comment><comment><USER20> Value depends on the user, and the ones that benefit from the arrangement imho. Counter offer with something lower? Make sure contracts are signed when an agreement is made.

<comment><AUTHOR> Just to clarify, are you suggesting that I offer the client to bill them directly at a lower rate right off the bat?

My friend would not receive this well, since he would get nothing from the introduction, and he probably not refer me to something similar in the future.

Do you think my friend is being unreasonable?

<comment><USER21> You're being unreasonable.

</comment></comment></comment><comment><USER22> I have a hard time understanding how does his rate affect exactly your situation.

</comment><comment><USER23> how much time have you wasted thinking about this? Is it worth it? after over 20 yrs of being independent, any engagement that starts out with drama will end in drama.</comment>


What the CrunchPad drama means for the Apple Tablet - <AUTHOR> http://www.itworld.com/mobile-amp-wireless/88335/what-crunchpad-drama-means-apple-tablet <comment><USER2> Eh, nothing to see here. Just appears to be another site trying to leverage the hype around the CrunchPad/JooJoo by offering a lot of baseless opinion.</comment>


SoftBank became Silicon Valley's persona non grata - <AUTHOR> https://www.ft.com/content/52f853c0-ee44-4884-b03f-51f7c9472645 <comment><USER2> You can't expect to put a cocktail dress on a horse and sell it as an exotic unicorn.

<comment><USER3> Non native English speaker here, would you mind explaining that saying?

<comment><USER4> Look up the phrase "lipstick on a pig".</comment></comment></comment>


How Apple Pay Saved My NFC Startup - <AUTHOR> http://insights.wired.com/profiles/blogs/how-apple-pay-saved-my-nfc-startup

<comment><USER2> Best line in that story: "That's why it's essential to have founders that are truly passionate about the problem you're trying to solve and not just ambitious about its success."

</comment><comment><USER3> Several times I've been too far ahead of the market and even in a reasonably small niche, it's impossible for a smallish start-up to move a B2B market towards a new solution or technology. Except for my last attempt, I've been lucky enough to have other products to sell.

What's most interesting to me is that he had both the foresight AND tenacity to wait for the market to come to him. Of course, there's some luck involved too ... what if Apple had waited even another 12 months? Would we be hearing the same story?

Anyway ... thanks for sharing a very interesting story.

</comment><comment><USER4> That's real perseverance, way to hold out. In 2012 I also thought NFC was just about the coolest thing ever when I got my Galaxy Nexus. I started working at night with a friend on an NFC rewards system for Android and was really passionate about it. I was __sure __that the upcoming iPhone 5 would definitely have NFC support. Why would it not?

Anyway when it came out and had no NFC support I just stopped working on my side project. I know this is not at all on the scale of your story (mine was a few hours a week, this was your life) but I can relate.

Anyway I'm glad Apple went ahead and "invented" NFC again, because the tech is awesome and I'd like to see it wide spread.

</comment><comment><USER5> This is a great story. I actually was trying to remember flomio's name the other day (wanted to use their technology for something).

Really perfect timing for their technology, kudos to their persistence.

</comment><comment><USER6> Awesome! How fortunate you were.

</comment><comment><USER7> Congratulations! The persistence is admirable. Good luck with everything.

</comment><comment><USER8> Congratulations</comment>


Ask HK: How can a programmer help small villages? - <AUTHOR> I'm talking about your typical Eastern Europe village, like 5000 people small, where almost everybody has internet access and a car.
I have an opportunity to help the local government, at least remotely. And they are open to any ideas(let's just assume the budget is really small). What value can I bring that would positively influence such a small community? <comment><USER2> Move there, for two reasons.

First, it's the way you're _really_ find out what they need - by being there, being immersed in the life of the village, meeting and talking to the people who actually live there, and finding out what in their lives you could do something to help.

And second, if you live there, you'll do most of your buying there, supporting local businesses. That helps the town, too.

<comment><USER3> OP literally said "remotely" in the comment. I'm guessing they don't/can't move there and your only solution is to go against their major constraint.

</comment></comment><comment><USER4> The GIS community has a bunch of stuff for local govt. Just google "GIS small town". Maps/Dashboards (of issues) to track things basically - road repairs, streetlighting, sewage/water monitoring, zoning/taxes, utilities etc etc.

This maybe too advanced but will give you ideas (go through the other case studies) - [http://www.vassarlabs.com/smart-cities- section.html#scogp](http://www.vassarlabs.com/smart-cities-section.html#scogp)

</comment><comment><USER5> An online polling system for govt.

Online portal facilitating barter system and resources.

Enable small businesses that serve locally and to trade with neighbors.

But you first have to figure out what their challenges are...you can either move there to evaluate or use a trusted party to convey without bias, the pain points.

Education..for youth and adults..is always good..regardless of location..

</comment><comment><USER6> Dunno how feasible it would be to do remotely, but your best bet would be to spend few days with magistrate clerks, watch what they do and automate repetitive procedures. For instance they often know only absolute basics of Excel, so even simple things can help them immensely.

</comment><comment><USER7> solarpowered mesh WiFi network - it's easy and cheap these days with SBCs</comment>


Show HN: Dslib – Data Structures library growing on itself in C - <AUTHOR> https://github.com/jarun/dslib <comment><USER2> At a high level [and at lower levels] I am not clear on how this is used. But I'm interested in learning more.</comment>


CDC drops 14-day self-quarantine recommendation for travelers - just-juan-post https://www.washingtonpost.com/travel/2020/08/24/cdc-drops-14-day-self-quarantine-recommendation-international-out-of-state-travelers/ <comment><AUTHOR> So is it safe to eat in a restaurant now Cuomo?</comment>


Nvidia has created the first video game demo using AI-generated graphics - <AUTHOR> https://www.theverge.com/2018/12/3/18121198/ai-generated-video-game-graphics-nvidia-driving-demo-neurips <comment><USER2> This is really cool and getting close to the kind of video games that engulf people's lives in some science-fiction books.</comment>


Ask HN: What is your opinion of Web Components? - <AUTHOR>

I just discovered Web Components, specifically Polymer 1.0 and like how modular it is. Does anyone have any experience with it? <comment><USER2> Haven't used polymer in awhile. Was playing around with it a lot pre 1.0. I like web components conceptually but the lack of browser support is a problem.</comment>


Show HN: HTMLie is a command line HTML Parser - <AUTHOR> https://github.com/gaojiuli/htmlie <comment><USER2> Does it use regex to parse the HTML?

<comment><USER3> It uses pyquery: [https://github.com/gaojiuli/htmlie/blob/master/htmlie.py](https://github.com/gaojiuli/htmlie/blob/master/htmlie.py)

</comment></comment><comment><USER3> Useful little tool!</comment>