Show HN: Songcraft – Online Songwriting Platform and Guitar Tab Builder - <AUTHOR> Hi HN!
I'm Gabe, the creator of Songcraft (https://songcraft.io/home). I recently dove headfirst into songwriting, and I quickly grew frustrated with my process. I found songwriting difficult enough without having to wrangle a mess of different tools, and there's no great solution to build chord sheets and tabs (unless you love pure text input).
So, I built Songcraft - an online songwriting platform and tab builder. The drag-and-drop editor makes it easy to jump from chords to lyrics to melodies. I added a chord progression generator and chord recommendation engine to ensure the ideas keep flowing. The integrated tuner, rhyming dictionary, metronome, and audio recorder allow you to stay focused without distraction.
A few months ago I shared the beta on Hacker News and got some incredibly helpful feedback and some amazing beta users. Since then, I've revamped the product and made a ton of improvements and additions. Today is launch day, and I wouldn't be here without Hacker News!
I'd love to hear your thoughts and answer any questions you may have. Drop a line here or at email@example.com. <comment><USER2> This is a huge unmet need in the market. I have over 300 guitar parts recorded into iOS Music Memos, which does a decent job of automating the break out of chords played but provides no way to build lyrics on top, note the tabs (which is HUGE, because the next day I always get foggy on how to play what I recorded and a month later have no idea...)

Excited to give this a red hot go!

<comment><USER3> As frustrating as it is, you'll be amazed at how much you improve by learning things purely by ear.

Plug in some good headphones and get after it.

</comment></comment><comment><USER4> Wow nice work, I haven't seen anything quite as well laid out for typical songwriter use. There are some good web apps for handling notation and composition but I haven't found anything as nice as what you just created for songwriters.

<comment><AUTHOR> Thanks so much! Yeah, there are some great tools for composing, and some good stuff for individual features (RhymeZone, Hookpad, etc). I was surprised that I couldn't find anything quite in this category.

</comment></comment><comment><USER5> This looks interesting and I'll try it out. I've been using a spreadsheet successfully to store many of these elements: \- one row per bar \- columns for bar number, chords, patch settings or drum patterns, lyrics, notes

Breaking lyrics strictly on the bar initially seems unintuitive, but in practice it works well. Including pre-roll bars means the spreadsheet corresponds exactly to my DAW. As I work through the arrangement and production I'll tweak the spreadsheet and keep it up to date.

I also copy the spreadsheet to a new tab, rearrange and resize it so I can print it out one one page (lyric-heavy tracks take two). There's a bit of messy cutting and pasting in this, but I've got quite quick at it and it means that while recording I can have all this information in front of me without using any screen real estate. When I've finished the last of these printouts, often with scribbled notes all over it, goes into a folder in case I need to do a remix.

I look forward to giving Songcraft a go!

<comment><AUTHOR> That's a super interesting process! I haven't heard of using spreadsheets to track this kind of thing. It sounds like you're sort of building a spreadsheet-based lead sheet.

Thanks for checking out Songcraft. Let me know if there are features it's missing that would make it useful for your method!

</comment></comment><comment><USER6> You are the man.

This is fantastic. Can't wait to see how this project progresses.

Some random suggestions:

Maybe I am missing something, but I don't see the ability to add chords outside of the scale. Let's say I want to play an E major chord in an A Minor progression due to a harmonic minor substitution. Is that possible with this tool? It would be cool to be able to add common substitutions or completely random chords too, perhaps in a separate box.

It might also be cool to see the roman numerals along with the chords in the progressions or chord box, but that might be too cluttered.

Regardless, I am an instant fan of this. Great work.

<comment><AUTHOR> You can add any chord you want! Just click anywhere on a chord line and enter the chord you like (or click on an existing chord and type to change it). You will also get recommended chords for that location in your song as part of the autocomplete. The theory tools on the right are just meant as an alternative way to add chords / progressions that sound great with your song, plus some goodies like transposition.

I really do want a way to incorporate roman numerals, especially with the progressions. I need to find a way to do it without cluttering the UI, but I love the idea.

Thanks so much!

<comment><USER6> Oh great! This is truly excellent work. I love the ability to toggle through the chord voicings as well.

</comment></comment></comment><comment><USER7> This is super cool, and the number of tools you've packed into a single app (metronome, tuner, recording, rhyming dictionary, chord prediction) is really impressive. Great job aiming to be a one-stop shop for songwriters - best of luck with the app! I'll definitely check it out the next time I'm writing a song.

This is a small thing, but hearing chords/music sounds in your demo video (not just the voice-over) would be great. Also... your demo really should be a song.

<comment><AUTHOR> Thanks for the kind words!

That's a great point about the demo. I'm hoping to put up a more polished demo in the near future (with the help of more a talented video editor than I), and I'll definitely include the audio.

</comment></comment><comment><USER8> I'd be curious to hear about the experience with customers in 6-12 months. It seems like if you can tap into the "hobbyist" market, and keep them interested, it could be a solid business.

I'm reminded by the Fender presentation at re:Invent this year ([https://aws.amazon.com/solutions/case- studies/fender/](https://aws.amazon.com/solutions/case-studies/fender/)). Fender noticed that 45% of Fender players are new to the instrument, and most spend more on lessons then the guitar itself, but 90% quit after a year. The 10% that stick with it will go on to purchase 8-10 guitars, typically from their brand. So their whole strategy with apps and services is just to chisel away at that 90% number.

</comment><comment><USER9> I wish you could incorporate rhythm/bars on top of the lyrics along with the chord symbols. I've been playing guitar since 2005, and I still find it exceedingly difficult to play chords along with lyrics without some kind of rhythmic reference, even if I know the song pretty well.

<comment><AUTHOR> This is an incredibly important feature to me. It's coming, but I want to be sure to get it right. It will also enable some other really useful features like entire song play-through. Thanks for the feedback!

<comment><USER9> Yea, I can imagine how it'd be hard to implement. I guess you'd have to tie the lyrics to rhythm, as well, and at that point you're pretty much implementing sheet music features.

<comment><AUTHOR> Exactly my thoughts! I don't think that's necessarily a bad direction to go, I just want to make sure I do it the right way.

</comment></comment></comment></comment><comment><USER10> The editor looks fantastic!

Have you considered hosting tabs for sharing?

It would be great to see a replacement for UltimateGuitar who despite having the largest collection of pop tabs engage in some extremely scummy business practices

<comment><USER11> I made a small website because I was so annoyed at UG and co... I've kind of stopped working on it though (a bit worried about monetising it as it seemed to be a bit complicated industry in terms of intellectual property).

[https://www.lyrink.com/](https://www.lyrink.com/)

<comment><USER10> Oh wow this is exactly what I was planning to build myself. Great job!

</comment></comment></comment><comment><USER12> How do you address the market of 30-something hobbyist with kids and jobs etc who might have short spurs of creativity followed by very long inactive periods. They might want to pay to use all the features and become good with the tool for sporadic use but might be turned off to the idea of paying for months of the account being dormant. A one time price for an online license like Propellerhead Reason seems sensible.

<comment> ry-n This. And somewhat discouraged by the seemingly imaginary 44% discount on the pricing page. Has 8.95/mo ever been the price? Is it going to be? Is this just a permanent gimmick? Without any details or explanation it seems disingenuous.

I also can't find any info about exporting data for backups or what happens to data if a subscription is paused for a period of time. Since it isn't called out my default assumption is that data is trapped and lost respectively.

Generally looks like something I'd love to use but would be great to clarify those points.

<comment><AUTHOR> This is very helpful feedback, thank you. In a couple places, I mention that the $4.95/mo rate (Launch discount) is for the first 3 months of your subscription before it changes to $8.95/mo. I need to make this more prominent, and I absolutely need to clarify the info on backups, plan- switching, etc.

I'm working on a FAQ, but I'll also leave some clarification here:

Songcraft Basic is always free, and your existing songs will never be locked or lost, even if you downgrade from Pro to Basic with more than 3 songs. You can always export any song as plain text.

Comparison info on the plans can be found at [https://songcraft.io/plans](https://songcraft.io/plans).

Please let me know if you have other questions!

<comment><USER13> You really need to clarify the pricing quickly. As it is now, if I signed up for the $4.95 offer and it got changed to $8.95 after three months I'd be pissed.

</comment></comment></comment></comment><comment><USER14> This is great, I've got a bunch of hacky tools that do something similar-ish, but not as polished as this! Good work

Feature request: export to MIDI.

<comment><AUTHOR> MIDI support is on the roadmap! Export and import should both be feasible, as is live MIDI input. Thanks so much for giving Songcraft a shot.

</comment></comment><comment><USER15> Several years ago I tried finding some reasonable software tools for music and was not at all impressed with what I could find. Great that you decided to make a better one!

A long time ago I ran across ABC music notation, typically associated with old time or traditional music. I wonder if there could be an import filter that works with ABC notation?

<comment><AUTHOR> That's really interesting. When I was exploring implementing standard notation, I also came across ABC notation. If/when I take on standard notation, I think ABC notation would be very reasonable to implement for import/export. Thanks for the feedback!

</comment></comment><comment><USER16> This is great. Another killer feature might be exporting songs as structured documents suitable for git.

<comment><AUTHOR> This would be really interesting to explore. You can already export a pure- text version of your song (under Share), but it would be amazing to have a more reliable document that included things like metadata as well. Thanks for the thought!

</comment></comment><comment><USER17> App seems extremely well thought out from first look, however, how do i actually play a song back?

<comment><AUTHOR> Entire song playback isn't live yet, but it's coming! It's a really important feature to me, and I want to get it right. I could enable it in a very simple form, but I think it will be much more useful if I can ship it with powerful tempo/timing control.

Thanks for checking it out!

<comment><USER18> Thanks for making this! This was my first questions as well. Can you ship the very simple form, and later ship the more robust version?

<comment><AUTHOR> I actually might do that. It's been the top feature request of the day. I'll look into it this week and see if I can ship something useful to tide us all over until I can improve it.

</comment></comment></comment></comment><comment><USER19> Congrats on the launch and on the UX/UI of the editor. There are so many great features and yet it feels simple and not overwhelming at first.

<comment><AUTHOR> Thank you so much. That's the balance I'm aiming for, but there's still room to improve!

</comment></comment><comment><USER20> Apart from how great this tool looks, I love that the example song is about Drizzt and Cattie-brie. Those two deserve some ballads! :)

<comment><AUTHOR> Hahah I was wondering if anyone would enjoy the reference. Thanks for checking it out =}

</comment></comment><comment><USER21> I keep lyrics and tabs in txt files with a custom .editorconfig file for color/highlighting, this is so much better, thank you!

<comment><AUTHOR> I love hearing how everyone addresses this problem in their own way. I hope you enjoy Songcraft, and would love any feedback you have!

</comment></comment><comment><USER22> Error 503 Maximum threads for service reached Maximum threads for service reached

Guru Mediation: Details: cache-gru17121-GRU 1553106010 492684645

Varnish cache server

<comment><AUTHOR> Yikes! Hopefully the site will hold up to HN traffic. Was this on the landing page? If you let me know where you saw the error, I can take a look. Thanks!

</comment></comment><comment><USER23> Why aren't applications like this native anymore? I'm personally experiencing a major case of web-app burnout.

<comment><USER24> Is your question rhetorical? In case it's not:

1) Web applications make it easy to require monthly subscriptions, which many people don't like but is great for companies

2) Web applications can be more easily monetized through ads

3) Web applications can be updated for everyone more easily than a bunch of native installs, potentially reducing support costs

4) Web apps are a solution (not the only solution, but probably the easiest solution) to cross-platform development

<comment><USER25> 5) Browser APIs/features and performance are continually improving, allowing for rich experiences in web applications.

The advantages of web applications, especially from the viewpoint of the developer/company, outweigh the advantages of native applications in more and more cases.

</comment></comment></comment><comment><USER26> Any plans for supporting standard notation?

<comment><AUTHOR> That's a great question. I held off on tackling standard notation because there are some existing solutions out there for composing standard notation. I decided to focus first on what seemed like an unmet need in the space.

That being said, I plan to bring in standard notation as an option after adding timing control. I think Songcraft could do some amazing things with conversion between tabs and standard notation, lead sheet generation, full play throughs, etc. All that is feasible, and I'm excited to get to that point!

</comment></comment><comment><USER27> Attention spans are short and the product talks, so the home page should be some kind of working demo eventually

</comment><comment><USER28> Out of curiosity, what are the chord progression suggestions based on?

<comment><AUTHOR> The progressions from the generator are based on manipulations of common patterns in scale degrees.

The chord recommendations in the editor are predicted from a recurrent neural network.

There are lot of improvements that I'm excited to make in both of these systems!

</comment></comment><comment><USER29> How to play a song ? I don't see any play button there.

<comment><AUTHOR> Entire song playback isn't live yet, but it's coming very soon! There have been a ton of requests today, so I'll be prioritizing it.

</comment></comment><comment><USER30> What sets this apart from TuxGuitar?

</comment><comment><USER31> Great stuff. Congrats!

<comment><AUTHOR> Thanks very much! I'd always love to hear any feedback after you get a chance to check it out!</comment></comment>


Kestrel Computer Project - <AUTHOR> https://kestrelcomputer.github.io/kestrel/ <comment><USER2> It's an interesting exploration. I at least got two things out of this:

1\. That the two-pass assembler design from 6502 was only 2KB. Tricks from software like that tend to come in handy later on embedded systems.

2\. His links on stepwise refinement of the Forth interpreter give a nice illustration of the concept. I rarely see an example that doesn't involve formal methods that turn most away or some useless objective.

So, mostly him having fun in his spare time. Yet, at least two reasons to keep a link to the project. Also, he ended up using the approach I keep suggesting here: port the Oberon System because it's simple and has plenty of features. He's doing that on Kesterel 3.

</comment><comment><USER3> The Kestrel-4 sounds great. It's a shame it was canceled April 2nd.

<comment><USER4> Where does it say that? I don't see any blog posts about the cancellation of Kestrel-4.

<comment><USER4> RE: The post above, I made a mistake, this version of the Kestrel-4 was an April Fool's joke.

<comment><USER5> Yes, Kestrel-4 (at least as documented on that page) is an April Fools joke. :)

</comment></comment></comment></comment><comment><USER6> They best not be suggesting that they run a RISC-V in the fpga.

<comment><USER7> It's the fifth bullet point in the list at the top of the page.

<comment><USER6> Either they buy a risc-v chip someone taped out or they synthesize one in the FPGA. The latter will be competitive with 10-20 year old technology.

<comment><USER5> I'm planning on using a soft-core processor because FPGA dev boards are plentiful and relatively inexpensive. My plans are to await silicon from LowRISC project before considering real glass.

</comment></comment></comment></comment><comment><USER2> On an unrelated note, Kestrel _Institute_ has been doing high assurance systems synthesized from specifications for a long time:

[http://www.kestrel.edu/home/projects/](http://www.kestrel.edu/home/projects/)

Maybe people will find that Kestrel more interesting. :)

<comment><USER8> That was my first thought: "Is Cordell Green building a computer? Cool!"

<comment><USER2> "Using Specware, we've specified and synthesized an entire computer. We even have flow charts of the hand movements of assdmbly line sorkers. The entire process, from design to manufacturing, should be correct by construction. As will be the computer."

He then added, "That's assuming the following assumptions are true. There's about 500 of them do bear with me on this PowerPoint..."

<comment><USER8> Nice. I should have known.

</comment></comment></comment></comment><comment><USER9> This project seems to be in a superposition of enormously ambitious project, light-years away from reaching the goal and elaborated joke. Does that sound about right? I really have a hard time telling from looking at the repository and I never heard of it before.

<comment><USER4> Depends on what you mean. If you're looking for a computer that can replace your daily driver, then yes it's years away from that. However, if you're looking for a new platform to explore and tinker with without needing FPGA knowledge, then it's close to that already.

</comment></comment><comment><USER10> Aha, I didn't understand that the kestrel 4 was an April fools joke? Blazemonger support? :) I was seriously dreaming about doing something similar but kestrel 3 is real afaics :)

<comment><USER5> Kestrel-3 is software emulation only at this point. However, after making some last minute touches to the system firmware (a dialect of eForth for both simplicity and hackability), I will switch over to working on Verilog. I already have video, keyboard, and GPIO cores written, so I only need to focus on the CPU.

</comment></comment><comment><USER11> It's based on Oberon! Woo hoo!

<comment><USER5> I tried to port Oberon, but was not yet successful in getting the compiler fully debugged. I also need to finish the system image linker so I can generate bootable images. For this reason, I pushed ahead with putting Forth in firmware.

However, I do intend on completing Oberon at some point (or trying to solicit help in that area; porting OSes is most definitely NOT my strong suit). Instead of putting in ROM, though, it'll be bootable off of SD card.

</comment></comment><comment><USER12> Another Kestrel: [https://kestrel.soe.ucsc.edu/](https://kestrel.soe.ucsc.edu/)

</comment><comment><USER10> Just yesterday I was dreaming about doing something very similar! I wonder how he have had time to get so far - it is extremely impressive!

</comment><comment><USER13> The link to the Nexys2 doesn't result in any products, is that still available?

<comment><USER5> No, it went out of stock after I'd put the site up. I'll remove the link (or find an alternative to something that describes what the Nexys-2 is) when I go to update docs.

I have not selected a replacement board yet (since my Nexys-2 still works fine, I intend on continuing to use it for the time being). If, after I post a complete set of Verilog sources, someone wants to try porting to the hardware of their choice, I'll be happy to include relevant links on the site. (Or until I change boards myself, whichever comes first.)

</comment></comment><comment><USER14> Isn't kestrel the name of the new asp.net server?

<comment><USER15> A kestrel is a type of bird. A falcon. There's lots of projects and products named after it.

</comment></comment><comment><USER16> Spelled "kestral" in Nethack. :)

<comment><USER17> No, it's spelled "kestrel" in NetHack.

[https://github.com/NetHack/NetHack/blob/NetHack-3.6.0/dat/bo...](https://github.com/NetHack/NetHack/blob/NetHack-3.6.0/dat/bogusmon.txt#L97)

<comment><USER16> I mis-remembered. It's a monster from Rogue! I could swear I played some Rogue variant very long ago where it was spelled with an "a". Quick research shows that Rogue had it as "kestrel" since forever, though. These "hallucinatory monsters" ("bogusmon") seem like a new addition to Nethack.

<comment><USER17> Heh, I wondered if you were actually remembering such an esoteric fact about NetHack.

Looks like kestrel in NetHack dates back to version 3.1.0, released January 1993. The comment says "Rogue", so I'm sure it was done in tribute. They also added emu, xeroc, and venus flytrap as monster names from Rogue, used while the player is hallucinating.</comment></comment></comment></comment>


Soon all immigration would require all of your social media profiles - <AUTHOR> https://www.miamiherald.com/news/local/immigration/article235022202.html <comment><AUTHOR> If you delete all profiles, you will be rejected on suspicion of being a liar. If you provide original account then something will be found that would displease individual agent, and if you create a new one then it'd be seen attempted deception.

People applying for green card, or even citizenship, all are going to be soon required to do this.

\- Suppresses free speech

\- Orwellian / slippery slope

\- Dependent on subjective judgement of agent

\- Suppression of minorities

\- Massive false positives

</comment><comment><USER2> Who says the US doesn't have a social credit score

</comment><comment><USER3> That won't work if you do not have any social media profiles (or if you do, but not any of the ones they listed there).

<comment><AUTHOR> that's the the problem too how do you proof you don't have any such profile. leave it blank, it says leaving blank may result in infinite delay.</comment></comment>


On C Linked Lists (Profiling and Optimizing) - <AUTHOR> http://rusty.ozlabs.org/?p=168 <comment><USER2> Generally, if you care about performance, you're using a collection that doesn't malloc individual nodes, and allows random access without crawling pointer chains and tearing up your cache.

Instead of wasting more energy on improving the (overused) linked list, write a little resizable array library that doubles size on each fill-up. It's easy and much faster.

<comment><USER3> _Instead of wasting more energy on improving the (overused) linked list, write a little resizable array library that doubles size on each fill-up. It's easy and much faster._

Don't do this.

Doubling the size of your allocation whenever you expand can easily lead to large amounts of wasted storage in common scenarios. "Yes," you may say. "But memory is cheap." Which it is at the small scale, but when you're allocating 1GB to store a 512MB array you have a problem.

A vastly better approach is to use some form of adaptive rescaling which avoids excessive overcommits.

Here, for example, is the code (and explanatory comment) Python uses to determine the new allocation size for an expanding list:

            /* This over-allocates proportional to the list size, making room
             * for additional growth.  The over-allocation is mild, but is
             * enough to give linear-time amortized behavior over a long
             * sequence of appends() in the presence of a poorly-performing
             * system realloc().
             * The growth pattern is:  0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...
             */
            new_allocated = (newsize >> 3) + (newsize < 9 ? 3 : 6) + newsize;
            if (newsize == 0)
                    new_allocated = 0;

Note that you will also want to avoid using the same calculation for expanding and contracting the allocation size, to avoid thrashing allocations when the list size varies around the pivot point. (i.e., add one element, triggering an expansion; remove the element, triggering a contraction; repeat.)

<comment><USER2> This is a great comment and I guess it's good advice, but doubling vectors have never caused a problem for me, I profile, and I've had them dealing with data sets like "each side of every TCP connection traversing 1/8th of an entire tier 1 ISP backbone".

I'll steal the Python trick, because it's neat, but I don't think worrying about your resize function is a good reason to procrastinate moving away from linked lists, which are mostly evil.

</comment></comment></comment><comment><USER4> How does deletion work in ring-style lists when there's only one element in the list? Wouldn't that break a branchless implementation? How is the empty ring represented, anyway?

As for his test purportedly showing that A is better than B on Linux... It's only right if you assume that Linux can only use one type of list in all cases.

<comment><USER5> An empty ring never needs to be presented. The point about the Linux list is that it lives inside another struct. If there are no instances of that struct, then there is no need to represent an empty list at all!

<comment><USER6> I think you're confused. The list head exists outside of the structs that are in the list. The list links (next and prev) live in the struct, but not the head.

To answer the original question, you decide a list is empty when prev == next.

<comment><USER4> But isn't that true if the list has one element? Then A->A, thus prev==next, but the list still isn't empty.

And if the head lives outside of the list proper, then you would need special- case code to handle deletion of the first element in the list (since the head contains a pointer to it). It wouldn't be branchless.

<comment><USER6> There is a fake element that is the head. It doesn't count as part of the list, but it's always in the list. With one element, the list is

        H->next = A, A->next = H
        H->prev = A, A->prev = H

<comment><USER4> Oh, that's a clever solution. Thanks.</comment></comment></comment></comment></comment></comment>


Optimizing for fundamental vs strategic value - <AUTHOR> http://www.sachinrekhi.com/blog/2010/03/08/optimizing-for-fundamental-vs-strategic-value

<comment><USER2> Great thought provoking article. I'm not sure I agree, though. For example, couldn't it just as easily be argued that Last was focused on fundamental value, and because they got acquired, it looks like strategic value? Or was it that their only revenue stream (afaik) was the $5/mo premium and not their primary focus?

Again, if nothing else, thought provoking article.</comment>


Ask YC: iPhone Developers for Hire - <AUTHOR>

Can anyone recommend a good iPhone development team, or any good hacker, who is available for hire to build an iPhone app?  The app would work in conjunction with the ecommerce website, villagehatshop.com.  We have a few ideas of some fun things the app could do, and we want to talk with some pros about the new functionality becoming available in the 3.0 firmware.  Any ideas or recommendations would be awesome!  Thanks! <comment><USER2> A couple of my friends & I are building iPhone apps that tie in with the FriendFeed API & use OS 3.0 to do some cool stuff.

Our lead developer has been programming since he was 7 & has a lot of experience in C & C++ (which has translated really well into Objective C, of course).

We'd be open to talk to you about helping out with what you guys are looking to do. adam @ snappsoftware.com 801-687-1401

</comment><comment><USER3> Working on 3.0 app myself, send me an email

</comment><comment><USER4> send me an email, I work with a few iPhone developers who are looking to take on projects: darrindemchuk @ gmail.com</comment>


How Pivotal Labs use Tmux for remote pair programming - <AUTHOR> http://pivotallabs.com/users/joe/blog/articles/2199-how-we-use-tmux-for-remote-pair-programming- <comment><USER3> I'm going to once again praise the Pragmatic Programmers tmux book by Brian Hogan[1]. It's an absolutely amazing book. Short enough to make it a quick read, but filled with everything you could possibly need. It gets right into the meat and potatoes and by the end of the first chapter, you can be using tmux effectively.

I highly recommend the book. Absolutely love it.

[1] <http://pragprog.com/book/bhtmux/tmux>

</comment><comment><USER4> If any screen folks are trying out tmux, here is my .tmux.conf assembled to have screen like bindings.

<https://github.com/rahulkmr/dotfiles/blob/master/.tmux.conf>

C-a c new window

C-a | vertical split

C-a S horizontal split

etc etc.

As far as copy paste goes, I use this [https://wiki.archlinux.org/index.php/Tmux#ICCCM_Selection_In...](https://wiki.archlinux.org/index.php/Tmux#ICCCM_Selection_Integration) C-a C-c copies tmux buffer to clipboard, C-a C-v sets tmux buffer to clipboard and pastes it(it's already in the configs; just putting it here).

As far as terminal emulators go, I have tried out a lot of them(gnome- terminal, konsole, urxvt, xterm) and finally settled on terminator. gnome- terminal will keep messing with my readline settings(alt opens up the menu), urxvt won't let me copy-paste the clipboard...Terminator is no frills - <USER2> can graphically set the preferences, or have a config file; it lets you copy paste to and from the clipboard; you can configure it to copy the x-selection to clipboard(middle click to paste - just not it). For anyone looking for a terminal emulator on linux(or whatever other platforms it runs on), I highly recommend it.

<comment><USER5> Long time screen user here, and with all the screen-like tmux configs I always miss one thing.

When I create a couple of windows and I split one of those into 2 panes, I couldn't manage to move panes from one window to another. In screen, apps you run are absolutely detatched from any visual configuration, and everything is reachable from everywhere.

It's a bit difficult to explain, but I'm sure some screen users will understand that situation. That is what also got me hooked to ratpoison[1] wm.

[1] <http://ratpoison.nongnu.org/>

<comment><USER6> I covered that in the tmux book briefly - you want the join-pane and break- pane commands. By default, prefix ! will break a pane into a new window, and join-pane will let you move a pane to a different window - you have to specify the window number and the pane.

Does that help?

<comment><USER5> Thanks for the suggestions!

Yeah, this kind of works, but I need to do maybe too many steps to get what I want, maybe with some tmux scripting fu I'd make it work.

The main issue is that I can open my apps always in the same order, so I know wich window number it has, then, joining-pane by window number would be doable. the problem is that after breaking and joining a few times, numbers may get scrambled.

Another issue is that if an app is in a pane, it looses the identity, and cannot be joined to another window alone.

I'm thinking on doing something in the lines of:

WINDOW=`tmux list-windows | grep active | sed -e 's/^\\(.\\).*/\1'`

choose-window "join-pane -s $WINDOW -t %%"

But for the moment, no luck.

Will keep trying :)

<comment><USER7> I had similar issues to yourself when migrating from screen.. the notion of 'panes' ~= 'windows' doesn't really work in some sense.. in screen when you split you initiate an empty 'pane' (if that makes sense).. and then you put some content into it.. you can also move the 'windows' around to wherever you want.. but all within a single 'pane'-buffer

however, in tmux.. what you have is like a whole series of pane containers.. these are called windows.. now, each window can have a name.. whilst a pane on its own does not.. you can fortunately 'join' and 'send' panes between windows.. also, another thing I tend to find useful is the ability to 'break' a 'pane' out've its current window and devote a full window to it..

the .tmux.conf bits you need are

bind-key 'j' command-prompt -p "join pane from:" "join-pane -s '%%'"

bind-key '@' command-prompt -p "send pane to:" "join-pane -t ':%%'"

whilst :break-pane (or ^b ! by default) allows you to send a 'pane' away to its own window.. (apologies it that sounds awfully convoluted/confusing)

<comment><USER5> That's what I was thinking of :). Thanks!

Maybe that's as far as we can get by now with it. Luckily tmux is heavily developed so there's hope for that workflow being easily usable in the future.

</comment></comment></comment></comment></comment></comment><comment><USER8> GNU Screen <http://www.gnu.org/software/screen/> also supports multiple users per session, so you can use it for remote pair programming as well. I believe it supports most of the same things as tmux except the vertical splits (although I seem to remember there being a patch to add that). I'm not advocating one over the other, I'm just a long-time, happy screen user who's never taken the time to investigate tmux.

<comment><USER9> Screen is to tmux as a Ford Taurus is to a BMW

Screen is nice, sure, but tmux has a couple of tricks up its sleeve.

And if your net connection is a little shaky, tmux can save your sanity (whereas screen just hangs there)

<comment><USER8> Care to elaborate? I'm open to switching if I think it'll be worthwhile.

<comment><USER9> The best way to see the difference is to try it, it's basically "the same" out of the box, with the exception of Ctrl-B instead of Ctrl-A

(this makes sense if you use Ctrl-A as 'Home')

Also: <http://tmux.svn.sourceforge.net/viewvc/tmux/trunk/FAQ>

<comment><USER8> Yeah if it's pretty much the same, then I don't really care to change. I'm used to screen and happy with its functionality. Vertical splits aren't game- changing enough for me to learn a whole new app.

</comment></comment></comment></comment></comment><comment><USER7> just in case anyone isn't aware of it, wemux <https://github.com/zolrath/wemux/> makes paired programming very easy to setup for tmux, many of the 'issues' discussed are also pretty solvable with a bit of googling..

there's various different work arounds.. a recent one I came across was to make sure your vim is compiled with +xterm_clipboard and +clipboard.. then doing "r+ allows you to paste directly from your clipboard using vim rather than relying on whatever your terminal emulator gets up to..

vim --version | grep clipboard to check how your vim was compiled

also, adding the following to ~/.tmux.conf is useful

\</comment><comment></comment><comment>--

#copy tmux paste buffer to clipboard

bind C-c run "tmux show-buffer | xclip -i -selection clipboard"

#copy clipboard to tmux paste buffer and paste tmux paste buffer

bind C-v run "tmux set-buffer --- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"

</comment><comment><USER10> I find this very interesting - having paired quite a bit with the Boulder office, none of them would have ever _considered_ this setup. They where all Rubymine or GTFO...

<comment><USER11> SF was also predominantly RubyMine last I checked.

<comment><USER12> I was there last month, still predominantly RubyMine, but I did see some vim.

</comment></comment></comment><comment><USER13> I have also found screen sharing to be way too slow for remote pairing. A good bit of our development is in Visual Studio, though, and I haven't found a good way to remotely share an editor session other than screen share. For our Python/Ruby work I'll definitely try this out, though.

<comment><USER14> The limiting factor for desktop screen sharing is usually the upload bandwidth of the host rather than the download speed of the remote given that most (home) internet service packages are high download/low upload. For example, I have 60Mbs/down service and it didn't matter because our office had a completely saturated upload pipe. Thus my sweet download speed didn't help as a remote person.

If possible, upgrade the upload speed of the host or even arrange the pairing such that the person with the most upload bandwidth is hosting the remote pairing session. After an office network upgrade to 20Mbs/up desktop screen sharing -- that is, GUI-based and not ssh/tmux based -- is extremely fast and completely usable.

<comment><USER14> I will be speaking about remote pair programming at Pivotal Labs NYC on 08/02 at 12:45. If you can't join us in person join the livecast: <http://www.livestream.com/pivotallabs>

</comment></comment></comment><comment><USER15> For anyone using Komodo, it has a similar feature that allows two people to have the same file open for editing at the same time. It works across servers (using smb) pretty well, but that probably depends on your network speed.

</comment><comment><USER16> tmux + iTerm2 are the best things ever (except for the copy/paste issues).

<comment><USER17> This is worth a little more elaboration, I think. If you compile the iTerm2 version of tmux provided on the iTerm2 website (a merge of the fork into tmux proper is pending), then you can link iTerm2 natively to a tmux session.

This means that the iTerm2 window size is the tmux window size; tabs in iTerm2 are tabs in tmux. Horizontal and vertical window splits in iTerm2 are the same in tmux too. And all of this is bound to the GUI, so resizing/reordering panes with your mouse makes the proper modifications in tmux. And because this is a 1:1 mapping of functionality, others using the same native integration will see tabs and split panes get added and removed in real time, as someone on another machine does it.

It's still in early stages and definitely not bug-free, but this is absolutely the best multiplexing experience I've found. Unfortunately, because this is specifically for iTerm2 right now, it's not cross-platform.

<comment><USER18> I would love it if gnome-terminal did the same thing. It should be possible to do the whole tmux thing without having to know any keystrokes, configuration etc and just use your existing gui terminal program.</comment></comment></comment>


Ask HN: Examples of Successfully Monetized Open Source Projects - <AUTHOR> I'm researching ways of monetizing open source projects - which projects have a successful model? <comment><USER2> [http://sidekiq.org/products/enterprise](http://sidekiq.org/products/enterprise)

<comment><USER3> Thanks for the mention!

</comment></comment><comment><USER4> gitlab?</comment>


White House Petition: Congress to investigate Google - <AUTHOR> https://wwws.whitehouse.gov/petitions/!/petition/call-upon-congress-investigate-googles-business-practices-order-protect-consumers/7pPZTcn7

<comment><USER2> Erm - petitioning the executive branch for the legislative branch to do something is not how the government works. If you want congressional hearings, contact the members of the appropriate committee (particularly if one of them represents you). If you want an agency investigation, then the WH can direct that. But this is sort of like a kid asking his mom to make his dad do something.

<comment><AUTHOR> Not my petition.

Still, if you read through the WH petitions site there are a lot of them asking for Congress to become involved. I would imagine that, at some level, this is probably a way to raise awareness. That said, they all talk to each other to think otherwise is probably a little naive.

<comment><USER2> Naivete would be to suggest that this administration could get the House to do anything (partisan politics and all that). I could possibly see a few senators holding a hearing, but again: much easier to approach them directly rather than roundabout. :)

<comment><AUTHOR> Probably true.

I do like the idea that someone is getting tired of Google's behavior.

I'd sign it but I hate the idea of having an account with the White House. Probably dumb on my part. I just have a distrust of politicians, regardless of affiliation.

</comment></comment></comment></comment><comment><USER3> The complaint is so vague as to be meaningless. Let's give a specific instance in which google has acted unlawfully, not just that they deleted your account an you're pissed, which is what this sounds like.

<comment><AUTHOR> I've already said that this is NOT my petition. There are no issues with my Google accounts because I avoid all of their products except for Analytics. I don't use AdSense or AdWords because of the way they behave.

That they engage in questionable practices is probably without dispute. For specific instances, well, Google something like "google suspended my account" which returns some 12 million results. If you have the time, read through the first hundred or so and see if you agree with the general sentiment.

Also, on the being vague part. I read somewhere that the petitions severely limit the number of characters you can use(I think it is 500 or so). It might be difficult to create a really detailed petition under those conditions. I don't know if they allow links or not.

<comment><USER4> >> That they engage in questionable practices is probably without dispute. For specific instances, well, Google something like "google suspended my account" which returns some 12 million results. If you have the time, read through the first hundred or so and see if you agree with the general sentiment.

I think that's far fetched. Of course you can argue that Google engages in questionable practices, but account suspension are nothing of that sort. First of all, most of the stories you will find are from the perspective of the user, which isn't entirely fair. And secondly, although I'm not saying they can do what they want with your account, if you violated their terms in any way, they have that possibility. That's not an unfair or otherwise questionable practice.

</comment></comment></comment><comment><USER5> Didn't congress already do this?

[http://www.judiciary.senate.gov/hearings/hearing.cfm?id=3d90...](http://www.judiciary.senate.gov/hearings/hearing.cfm?id=3d9031b47812de2592c3baeba64d93cb) [http://news.cnet.com/8301-1023_3-20109630-93/eric- schmidts-o...](http://news.cnet.com/8301-1023_3-20109630-93/eric-schmidts- oral-testimony-before-senators/)

</comment><comment><AUTHOR> It was bound to happen...</comment>


Is Google chat disabled in Gmail if you use Adblock plus? - <AUTHOR>

I just noticed that after I was messaged by a friend in Google chat, I simply could not respond. There was no text field to enter in a response. I disabled Adblock plus on Firefox, and the field magically reappeared. Is this happening to anyone else? <comment><USER2> I have AdBlock on in Chrome on Windows and it works fine.

</comment><comment><USER3> Go into the Adblock Plus options screen and update all your filter subscriptions, this should fix it.

</comment><comment><USER4> Stackoverflow.com is a better site for questions like this.

<comment><AUTHOR> I thought it was fascinating that Google could possibly deny usage of a product due to a third party plugin in a browser, i.e., Firefox.

<comment><USER5> I'm leaning towards the much more likely possibility that the confluence of browser variability, third party plugins, and a javascript chat client clashed in a bizarre way. I've never had an issue with gchat related to ad block. Although back to your central point, I don't see why Google couldn't deny any of their services based on browsers or add-ons, it's certainly not a new concept on the web.</comment></comment></comment>


Why getting women into computer science is a big deal - <AUTHOR> https://medium.com/p/cddc62fc1487

<comment><USER2> A quote: "Let's try not to let them down."

Fair enough. But at present, the key problem is not bias or overt discrimination, it's how women see technical occupations, plus a shortage of role models.

This problem will be solved when women, who are certainly fully qualified to take on technical positions, decide they want to do that.</comment>


Ask HN: Is it a mistake to base my company on the MSFT stack? - <AUTHOR>

I have been building two prototype versions of my software, one in C# (which I know like the back of my hand) and one in Scala (which I'm learning).
After spending time talking to a lot of developers, I'm concerned about continuing to use the Microsoft stack, even though I know it the best.
My concerns are:
1. Hiring. Will it be a problem to find excellent C# developers that are interested in working at a startup? So far I've found that the really great developers make huge salaries at Fortune 500 type companies and don't seem very risk tolerant. I think they're great engineers, but they seem way more interested in fishing than doing a startup.
2. Acquisitions: Pretending for a moment that I have a modicum of success, does choice of platform have an impact on the interest of an acquiring company? Will I be shooting myself in the foot by going the closed-source route?
I know that HN is mostly anti-Microsoft, but I think that people here are also pragmatic. Is it worth spending the time working with a technology that might not be known as well (although it seems to work well-enough so far) in order to mitigate the risks in hiring and acquisition later (if they are actually risks)? <comment><USER2> The biggest mistake, IMO, if you actually want to SHIP, is using anything except the software you already know.

Let me explain- Too often, projects are started pie-in-the-sky, and using everything perfectly, using the de jour framework.. You spend 80% of your precious time trying to learn it, for marginal benefit. Yeah, it might be cheaper when you have 1M users. Deal with it then.

For any software project, you'll probably need to expand a bit, that's a given, but don't go out to far; Go one village over...

Try moving from MySQL to Postgres. Or perhaps involve Mongo if need be. Don't fly in technology from the other side of the universe unless you have an actual business need to.

The odds are against you finishing your project; Keep that in mind, and work to maximize chances of shipping. This means using the stuff you know now.

</comment><comment><USER3> There's an old video of Steve Jobs circa 1997 where someone in the audience puts him in the hot seat about some 'hot' technology at the time. As I recall, his response was something along the lines of --- maybe we missed an opportunity to use a neat technology in the product, but the product will win in the long run because we remain focused on our customers, and work backwords into the tech.

You can typically use whatever tech you want to power the thing. If you use open and well documented communications API/infrastructure then others (including your team) can extend your product with lots of different technologies.

For #1 - You can find good C# coders. But you can find great developers who know C# among other things.

For #2 - Generally there are two camps in acquisitions (strictly regarding tech). The Microsoft camp, and the other camp. The two camps have their own large ecosystems and there is some overlap. I think for this you just need to understand (just like you understand your customers) which potential acquirers may come along and what they care about. Many times they'll want to rewrite some things anyway and better understand your roadmap (which can always evolve!!!).

Long story short, stop building prototypes. Avoid optimizing prematurely as they say. Get one prototype working well, get great developers and you'll make the right tech decisions as a team. If you don't, you get to change them.

Good luck!

</comment><comment><USER4> Check out BizSpark <http://bizspark.com> for a Microsoft marketing program that gets startups access to the stack for zero upfront costs (yes that's carefully worded).

Microsoft has a history of acquisitions, but they tend to be based on talent, shared customers, market access or defensible technologies. Don Dodge covered this a while ago [http://dondodge.typepad.com/the_next_big_thing/2005/10/micro...](http://dondodge.typepad.com/the_next_big_thing/2005/10/microsoft_will_.html)

You bring up a good question about the risk tolerance of potential hires. No opinion on it.

<comment><AUTHOR> I'm not worried about licensing costs at the moment, thanks to BizSpark.

My product isn't in an industry that Microsoft seems very interested in, nor do I feel like it'd be wise to have the only potential acquirer be Microsoft (which is why I made the point about being concerned about acquisitions).

</comment></comment><comment><USER5> Building your company on a MSFT stack might be affordable when you are still in the startup stage, and it might be doable when you're at the multi-national stage, but in between it is going to be _expensive_.

On the other hand, developers for a MSFT stack tend to be pretty cheap. Quality varies of course, but there are _lots_ of them..

</comment><comment><USER6> Finding "excellent" people to work for any start-up is very hard. You already know the C# is going to make it harder to find risk tolerant folks. People working on Scala are most likely doing it because they WANT to, and would want to do it at a start-up.

The acquisition question is business pre-optimization and any large acquirer probably won't care. Just build your prototype and get it out the door, don't worry too much about the details.

</comment><comment><USER7> No mistake at all. I write iOS apps both for myself and as a contractor. All of the web services that my apps run off are done in C# on Windows.

As many others mentioned, the best tool is the one you already have/know.

</comment><comment><USER8> Good question. You asked it, so now I don't have to!

The comments are good.

So, yes, for my startup, I'm using the Microsoft 'stack'. But for C#, I'm not using it! Haven't touched it! Instead I'm using Visual Basic .NET and .NET, ADO.NET, ASP.NET, Windows Server, etc.

For 'training' people, my guess is that 'basic' Visual Basic .NET will prove to be super easy for nearly any reasonably talented, interested hire to learn.

Why? For nearly everything I'm doing, nearly all of the the syntax and semantics of Visual Basic (the current .NET version) couldn't be easier to read and type.

I also like the Visual Basic compiler, just as shipped with the .NET Framework (version 4.0). The Visual Basic compiler is right there as file VBC.EXE, and to run it just use a command line or some scripting language (I am using ObjectRexx) to type the command line. The command line syntax is short and easy to understand. The compiler is fast and generates remarkably small EXE files. The error messages are from good to quite nice. So far I've found no bugs at all. I'm thrilled.

My view is that the syntax of C# is more difficult, and so far I see no reason to struggle with it. So, for my startup, so far it's just Visual Basic and .NET.

For typing in software, I just use my favorite text editor KEdit with a lot of macros. And I make heavy use of just the ordinary desktop 'windowing': So, when typing, typically I have about 15 windows open, 'tiled' with the upper left corners running from upper right to lower left (can always see at least the top or left side of each window and can rearrange the Z-order without moving any windows). So, I have windows with pieces of my design, software, testing, documentation, etc. all readily available. It's nice.

I'm also thrilled with how ASP.NET works when I just type in Web page software with KEdit. So, when a browser displays a page under development, if there are Visual Basic errors then get a nice page in the browser making clear what the errors are. NICE. When the compiler errors are gone, then at the bottom of the Web page is a NICE description of all the work ASP.NET did with a 'control tree', various ID values, some sizes in bytes, some timings in milliseconds, etc. NICE.

When finally understand from 5000 feet up basically what ASP.NET is doing, then it's fairly simple and clear and okay.

Why I am staying with Microsoft:

(1) What I Knew. I got started on that path to Microsoft and stayed on it. So I did a lot with OS/2, and when I changed to Windows it was, of course, similar.

(2) Documentation. I am finding that my code is heavily just some 'glue' to call code from Microsoft, especially their .NET. So, I do more reading documentation than writing code. So, I care a lot about the quality of the documentation.

The Microsoft .NET documentation is enormous. I have about 2400 Web pages of Microsoft documentation on my computer, abstracted, and indexed, and I put as comments in my code the file system tree names of relevant documentation and with one keystroke KEdit will display the Web page. Nice.

But that's a LOT of documentation. Writing such documentation is EXPENSIVE. In simple terms, the quality from Microsoft is high. More deeply, often the writing quality of the real 'content' needs to be improved. I'm afraid that, without the big bucks of Microsoft, alternative documentation would be worse.

(3) Support. If my startup is successful, then I will want a lot of technical support. I'll be willing and able to pay for the support. I am hoping that going with Microsoft I will be able to get some good support.

So far I've gotten some surprisingly good support for free from various experts at Microsoft via various Microsoft fora. Of course, to get a good response, tend to need to have done some good homework and actually ask a good question! The free support is so good that I am looking forward to some nice help when I'm able to pay.

For Unix flavors, I'd be afraid on each of these three points. Afraid? Yes. Well informed on Unix? No!

<comment><USER9> Your comments are interesting, as VB and VB.NET are distinct languages with differing (though similar) syntax and quite different paradigms.

VB.NET shares its paradigm more with C# than the classic VB. VB.NET code can be ported cleanly to C#.

<comment><USER8> Yes. On the 'porting', I can believe that! However, I couldn't do the porting because I don't know C# syntax!

For "classic VB", I don't know that either! I never used it. For Windows programming, I just started with what you call 'VB.NET'. I didn't mention 'classic VB' (or VB 6.0 or whatever it was) but tried to indicate that I am using the newer, most recent version of VB and am also heavily using .NET, ASP.NET, and ADO.NET.

On the 'porting', sure: It appears that in effect Microsoft went 'language syntax agnostic', concentrated on the lower levels down toward the processors and Microsoft's 'common language runtime' (CLR), their 'intermediate language' or whatever they call it, etc. and in effect said that anyone was welcome to develop any 'syntactic sugar' on top they wanted. Sounds like a good move to me.

I understand that C# offers a little that VB.NET does not, e.g., for 'reflection' or whatever, useful for writing polymorphic or more efficient late binding code. Okay. I'm trying to avoid using late binding. For polymorphic code, mostly for object oriented programming, I'm just using .NET where I mostly don't have to think about polymorphism.

I have written a few classes and, then, a few polymorphic functions, but there I used interfaces which I regard as much the same I've done for decades with 'entry variables'. The problem has always been, and still is, inside the polymorphic code, for each time touch the relevant data, have to call a function that is passed to the polymorphic code, and even just a little such usage can double or triple execution time of the polymorphic code. Of course another way out is to use 'generics', but those go way back, also: Basically just have the compiler write different versions of the code depending on the data types to be used.

Since VB.NET can be translated to C#, if I have to look at some C#, then I will imagine that I'm just looking at VB.NET with some 1-1 syntactic translations.

But the thread was concerned about training employees, and it seems to me that the syntax, semantics, etc. of VB.NET are so nice that, just for the language, the training should be fairly easy.

Moreover, in my work, nearly all the effort is just understanding the documentation for .NET, ASP.NET, and ADO.NET. Then that understanding should be quite similar no matter what language is used to get to .NET, etc.

For understanding the basic VB.NET syntax and semantics themselves, that's from easy down to nearly trivial. So, for my company, I'm trying to stay with VB.NET instead of C#: Get what my company needs, have the code easier to read, and have training easier.

Yes, one of the nicer parts of VB.NET, and likely all the languages based on the CLR, and maybe not so easy for a beginner trying to understand and use, is the CLR 'garbage collection' (GC). I was afraid that maybe each few seconds GC would wake up, put all the application logic on hold, do its GC, and then restart the application logic, but so far I've been pleased: From some timings I've done, etc., I've seen no significant such intervals of 'application logic on hold'. What will happen with VB.NET and GC on processors with many cores will be interesting to watch.

I don't know that the CLR, VB.NET, C#, the other Microsoft languages based on the CLR, and .NET are in all ways the best possible, but so far I'm pleased and thrilled. E.g., they look solid enough for me to concentrate on my work for my company.

I've seen a lot in computing, including IBM's old efforts at some 'commonality' in the programming languages, etc., saw a lot of messes, and see what Microsoft has done as much better. That they got GC working well is IMPRESSIVE -- they could have messed that up. Microsoft could have made a huge mess out of the CLR, etc., but it appears so far that, instead, they did some good work.

What's comparable or good/bad in the Unix/Linux world I don't know.</comment></comment></comment>


The Terrible, Horrible, No Good, Very Bad Tesla Model S P85D Road Trip - <AUTHOR> http://blog.caranddriver.com/alexander-and-the-terrible-horrible-no-good-very-bad-tesla-model-s-p85d-road-trip/ <comment><USER2> As recently as four years ago, the rhetoric was "there's no infrastructure for electric cars, building one is totally infeasible, therefore elextric cars will never work."

Now the rhetoric is "waaah, the charging stations are kind of inconvenient."

Anyone who writes this kind of article without looking at dsituation/dt is being dumb.

<comment><USER3> Did you read the same article I did? His complaints didn't seem to be "charging is inconvenient" as much as "the navigation/trip optimization system caused me drive an extra 5 hours and make 4 extra stops that were totally unnecessary".

<comment><USER4> Pretty sure "extra time" falls under the "charging stations are not convenient" header.

<comment><USER5> I'd imagine that more infrastructure (in the form of more charging stations) would make route planning and navigation a much less painful affair. If there was a charger in every town over (x) population, you wouldn't need to take those much longer routes or deal with drastic detours and backtracking if the range needs to be recalculated due to changing circumstances (air conditioning use, ambient temp, driving speed, etc.)

</comment></comment></comment></comment><comment><USER6> > Of course the Model S can be road-tripped. Whether it can be accomplished > with the sort of ease we assume buyers of a $140,000 luxury sedan expect, > well, that depends on your planning.

On the other hand he paid $0 for energy, which would be very different had he brought along a comparable gasoline-powered car (Audi RS6?).

In my experience taking long road trips in expensive cars is a fools errand, electric or not. Expensive cars are either fast, heavy, or both, and get horrible milage. Sure, an Audi RS6 would have had fewer stops which also would have been quicker, but you'd be there in the same amount of time at a quarter of the cost in a Miata, which would have been a lot of fun at the race track, too.

<comment><USER7> This is a good point, but you also have to assume that people who drive cars that cost more than a modest house are probably not overly concerned about the cost of gasoline. Even if it were a car attainable by normal middle-class drivers, I believe most people would rather be confident that they can reach their destination safely than fret over a hundred bucks of gasoline (and a tow costs at least $75).

Maybe the moral of the story is that all Tesla owners doing long-range driving should invest in a AAA membership for the inevitable occasion when the battery jumps down to -22% before reaching the next charging station.

<comment><USER8> It's likely that no Tesla owners have AAA, because the car comes with roadside service, including towing.

I know people on HN love to discuss things they aren't personally familiar with, but this is really getting out of hand!

<comment><USER7> It was a quip. Relax.

It doesn't really matter if they get included roadside service or not, since they'll still have to sit around, wait for a tow truck to show up and rescue them from the middle of nowhere, ride in the truck's cab or possibly have to get a separate taxi to wherever the car is being towed, and wait to get charged. This has to happen whether one uses Tesla, AAA, or any other entity (including themselves) to coordinate the tow. It doesn't materially change the argument.

</comment></comment></comment></comment><comment><USER9> The title seems to be a little overboard considering the actual content of the article. It didn't seem that vehemently bad.

<comment><USER10> The title seems to be a play on the title of a book "Alexander and the Terrible, Horrible, No Good, Very Bad Day"

<comment><USER11> Is that a well known book? Because I had the same impression. Since I'm not familiar with the book, I thought their headline was way too much link bait.

<comment><USER12> > Is that a well known book?

That, and, over the years, an HBO animated special, a musical stage production, a non-musical stage production, and, most recently, a box-office success as a movie last year. The title has been a fairly frequent pop culture reference with the "Alexander" at the beginning and the "day" at the end replaced with other things, e.g, on the Daily Show, etc.

<comment><USER11> Ahh I had no idea, thanks.

</comment></comment></comment></comment></comment><comment><USER13> Nothing surprising here. People don't buy Teslas because they want the same thing as those who buy an expensive gas-powered luxury car. They buy them because they want to be early adopters of cool new stuff. If I bought one I would not _expect_ the ease of road tripping afforded by gas -- at least not today and not for a while -- and thus would not be disappointed for not getting what I never expected to get.

The review seemed gratuitously negative. Fact is that almost everyone in the traditional car industry wants Tesla to fail. I know some folks "back home" who are into cars, and when they talk about electrics it's like mockery mixed with a tinge of dread.

If you're a CS/software person, imagine if a new computer came out that is far superior to existing computers but has almost nothing in common. The way you program it is alien to anything you're accustomed to. That's the situation car people will find themselves in if things go electric... not to mention the waves upon waves upon waves of bankruptcies as entire swaths of the economy find themselves obsolete. Electric vehicles are armageddon to what probably accounts for a double-digit fraction of our economy.

<comment><USER3> > The review seemed gratuitously negative.

I disagree. I think Teslas are interesting, and I never tend to road trip so it's an edge use case for me.

But the descriptions of the navigation system are just flat out baffling. That's a horrible fault in a car that can't be easily/quickly charged at tens of thousands of gas stations.

A navigation system should never have you drive FURTHER BACK to the PLACE YOU CAME FROM rather than the SHORTER distance to the NEXT supercharger. That's insane.

And having him get off the highway to stop at a supercharger where he needed "0 minutes" of charging? Why wasn't that cut from the route?

I understand him losing mileage to the A/C, but it's a connected car. If it knows where it is, where you're going, and can access it weather it should be able to predict you'll probably end up using the A/C and adjust the expected range accordingly. That should't have been a surprise either.

At the end of the article he said he could do the trip in about 12 hours if he planned by hand with 3 stops instead of 6-8 stops and 17 hours if he let the Tesla software plan it. That's a disaster.

This sounds like one of those cases where bad software ruins (or significantly detracts from) an experience that shouldn't otherwise be that bad.

This article is an indictment of the navigation system.

I'll also say it sounds odd that you can set the car up to control the heat and sunroof and such with the phone app _when the car is driving_. If it's moving, why allow that? If you're driving or in the car you already have access to the controls. Sounds ripe for abuse/pranks (as happened in the article).

<comment><USER14> "This article is an indictment of the navigation system."

Yep, for sure. But note that that's _all_ it is. It's not an indictment of Tesla overall, or the Model S's ability to road trip. The trip planner does need some serious work. But if you ignore it, road trips can be a joy.

As far as remote access while the car is driving, why _not_ allow it? That means that, for example, somebody in the back seat can adjust the controls using their phone instead of bothering the driver to do it for them. It's only ripe for abuse if you give your account credentials to someone you shouldn't trust. And why would you do that? It's pretty much on the same level as giving your car keys to your coworkers and then complaining when they prank you by moving your car to a different parking lot behind your back. Don't give them your keys!

<comment><USER3> > It's only ripe for abuse if you give your account credentials to someone you > shouldn't trust.

That assumes perfect security. I'm more worried about someone external hacking in to the Tesla site via a security vulnerability (or even just username/password dump from another site) to do such things to random cars than little Billy in the back seat.

<comment><USER14> Saying "don't allow remote control of this stuff while driving" _also_ assumes perfect security.

We can discuss the plusses and minuses of various intentional access points, or we can discuss security. But they're different topics.

</comment></comment></comment></comment></comment><comment><USER15> What's security like at Tesla Supercharger stations? Some of the pictures make it seem like they're a bit isolated and unpopulated. Needing to wait for half an hour or whatever with your car plugged in (non-operable) would seem to make one a possible crime target. Plus, it'd be a safe assumption that you have money, given what you're driving around in.

<comment><USER8> I've never been the only car charging at a supercharger, and I see lots of women traveling solo, even when I'm there late in the evening. Tesla's webpage has this to say:

"Stations are strategically placed to minimize stops during long distance travel and are conveniently located near restaurants, shopping centers, and WiFi hot spots."

[http://www.teslamotors.com/supercharger](http://www.teslamotors.com/supercharger)

From the sounds of it, this answer won't make you happy, but that's fine: Tesla is at market share of << 1%.

<comment><USER15> I don't have feelings one way or the other about the answer, and don't appreciate being told how I should feel. In Atlanta, the only two Superchargers I'm aware of (also the only two on the map) are at the Tesla dealer and at a large work/live/play location (Atlantic Station). Neither is at all convenient if you're driving through the area. I get that things are probably great in California, but from what I can see from the article and around town things are different in the Midwest and on the east coast.

Edit: and what the hell are you trying to imply with "women traveling solo"?

</comment></comment></comment><comment><USER16> One thing I don't understand is the requirement to use superchargers. From what I can tell, paid charging stations are much more prolific and while not offering the same convenience, will keep you from traveling via a flatbed...

<comment><USER17> Paid charging stations are common, but they are generally 6 or 10 kW charge rate, compared to a supercharger's 80 kW, so they're an overnight proposition.

</comment></comment><comment><USER18> So many of these complaints seem to focus on edge cases, what proportion of car journeys would really trigger 'range anxiety'? Even in the US I imagine such long trips are the exception for the majority of car owners.

<comment><USER8> In the US, the overwhelming majority of long trips have a lot better supercharger coverage than this particular one.

<comment><USER19> I'm not so sure this is actually the case. If you look at the supercharger map:

[http://www.teslamotors.com/findus#/bounds/49.38,-66.94,25.82...](http://www.teslamotors.com/findus#/bounds/49.38,-66.94,25.82,-124.39,d?search=supercharger&name=us)

you'll notice major corridors like I-64 from Lexington to St. Louis have no intermediate chargers, and from St. Louis to Kansas City on I-70 is similarly devoid. It would look like if you don't live on the north east coast or out in California, you'd be in real trouble. The chargers probably don't have to have the same ubiquity as gas stations, but having 400-500 miles of _interstate_ (god forbid you need to go somewhere like Ithaca, NY where no interstates run) without any way to refuel the vehicle still would certainly make me nervous driving it cross country.

<comment><USER14> From the St. Louis supercharger to the one in Kansas City is 213 miles. No problem in an 85kWh Tesla. Lexington to St. Louis is not doable on superchargers, and you'd either have to go by way of Indianapolis, or find a friendly CHAdeMO charger in between.

Ithaca would depend on where you're coming from and where you're going. It's well within range of the supercharger at Paramus, NY or Syracuse. Coming from Pittsburg you'd have to detour through Buffalo.

<comment><USER19> I guess it just goes to show that Tesla (or whoever ends up betting the farm on electric cars) still have a lot of way to go before we see something approaching critical mass. All of the chargers are placed OK assuming you don't leave the interstate, but I think we're going to need to see some serious infrastructure upgrades before electric cars become totally viable alternatives (for some of us that often go cross country, anyways).

<comment><USER14> I think you're right. It will never be a 100% thing (nothing is, gas cars included) but it needs to get a bit farther before "everyone" can use them.

However, the infrastructure is not _that_ tough to build out. At the start of 2014 there were 50 superchargers in North American. Today there are 217. That's one company, funding them with the profits from selling cars. Give it another couple of years and the network should be nearly ubiquitous.

</comment></comment></comment></comment></comment></comment><comment><USER20> I might be wrong, but it seems silly to try to get a lot of mileage out of an purely electric vehicle.

I mean... Most trips (probably over 90% of the distance ran) are very short, for city people. It seems that you could get pretty much all the enviromnental benefit, and nearly all the savings, using a smaller battery pack. And authonomy would come from an ICE to rechange the pack

So, maybe the volt (or at least the idea behind it) is more resonable than tesla?

<comment><USER14> The Volt itself doesn't really compare. Only four seats compared to 5+2 in the Tesla, and terrible cargo space. I loved the idea of the Volt but when I actually thought about getting one, it was just not practical for me.

How about the idea of a plug-in hybrid, but done better? Maybe. But you're talking about two separate drivetrains, which is going to inherently hurt things like cargo space.

There's nothing silly about road tripping in a Tesla. The charging infrastructure is great and road trips are smooth. The author just didn't do his very well.

<comment><USER21> I believe the 2016 volt will be a 5 seater.

I have a '14 and the storage space seems fine to me. No kids though. I did put 14 large bags of mulch in the back once...

The Volt also does a really great job with range vs. the driving habits of it's owners. According to Chevy[1], 80% of volt trips don't use any gas. Could be some confirmation bias there, but my personal rate is somewhere in the 70% of trips don't us gas.

[1] [http://www.cheatsheet.com/automobiles/2016-chevy-volt-may- be...](http://www.cheatsheet.com/automobiles/2016-chevy-volt-may-be-the-total- green-car-package-at-27k.html/?a=viewall)

<comment><USER14> Individual needs will, of course, vary. But if you need more space, the Tesla will give it to you. The Volt's trunk volume is only about 10ft^3, whereas the Tesla has 26ft^3 in the trunk _and_ another 5 or so in the front.

I'm leaving on a small road trip tomorrow, taking four adults, two children, and luggage for an overnight stay. Total driving will be about 350 miles. All electric, obviously. I should only need one charging stop, at a supercharger, but may take advantage of public chargers in garages and such while I'm parked, just for convenience.

Obviously a lot of that difference is just because the cars are different in general, and not the drivetrains specifically. But the Volt does sacrifice a lot of volume because of the need to support two entire drivetrains at once.

</comment></comment></comment></comment><comment><USER8> It's interesting to compare the single data point in this article to a more global measure: [1]

"Tesla Motors Inc. drivers were more likely than Porsche owners -- or anyone else -- to say they'd buy their cars again in this year's edition of the closely-watched Consumer Reports buyer survey.

"Tesla's Model S luxury electric sedan topped the U.S. survey a second year in a row, scoring 98 out of a possible 100. The No. 2 brand, Porsche, scored an average of 87 out of 100 across its model lines."

1: [http://www.autonews.com/article/20141203/RETAIL03/141209918/...](http://www.autonews.com/article/20141203/RETAIL03/141209918/tesla- model-s-beats-out-porsche-in-owner-satisfaction-survey)

<comment><USER14> Yes, and Tesla owners forums like Tesla Motors Club are full of stories about road trips which fall into one of two categories. Either they say "Taking the Tesla was awesome and I never want to deal with a gas car on a road trip again" or they say "I had to take the gas car because I was going through one of the few remaining supercharger deserts and it was awful and I hope I never have to do that again."

Road tripping a Tesla does require a bit more forethought. You can't depend on the trip planner at this point and get good results. That is a serious flaw and I hope Tesla improves their trip planner soon, because it can be terribly stupid. But if you can apply that extra forethought and you're taking a trip within the charging network, it's a fantastic road trip vehicle.

</comment></comment><comment><USER22> The point of this post is simply to (anectodally) measure the usefulness of the Tesla as a road trip vehicle in July, 2015. One year from now, the experience will be different, and likely different enough to move a percentage of prospective owners from waiting to buying.

</comment><comment><USER23> I doubt Car and Drive gets a lot of electric car advertising.

</comment><comment><USER24> Perhaps he should do it again once the planned superchargers for 2015 are in play. From the perspective of a non-owner who doesn't live near Ohio/Virginia, it appears to me that there are a lot more scheduled for install before the end of this year: [http://www.teslamotors.com/supercharger](http://www.teslamotors.com/supercharger)

</comment><comment><USER25> This was more about the pains of learning driving habits for a Tesla, and also building confidence in the distance one can go in a Tesla. Gas-powered cars require little such planning, as there are many gas stations, so a lead-foot isn't a big deal.

He noted at the end that he thinks he could get the same road trip down in a pretty reasonable time.

</comment><comment><USER26> I'm a huge Tesla fan but I have to admit that the Tesla doesn't seem great for such a road trip. 15 hours instead of 9 is a big deal. Of course most Tesla owners keep a gasoline car too. So everyone already knew that.

<comment><USER27> I'm a huge kayak fan but I have to admit that they don't seem great for transatlantic voyages.

What the article talks about is 100% expected due to the target market of the Tesla and the current state (still building infrastructure) of the charging stations.

<comment><USER14> Actually it's not expected, as evidenced by the fact that kayak^WTesla owners routinely take transatlantic^Wcross country voyages right now with no fuss and a great deal of enjoyment.

There are some destinations which are inconvenient right now, but most road trips can be done easily. Much of the trouble the author had was avoidable with a bit more forethought.

</comment></comment></comment><comment><USER28> Everything is impressive about Tesla. I am sure it will get better in the future, but I would go crazy having to wait 40+ minutes for my car to charge during a road trip.

<comment><USER29> On an eight hour trip that gives you time to eat.

</comment></comment><comment><USER30> Interesting... would it be possible to charge from the outlet at regular gas stations? Assuming you carry an electricity meter to be able to pay for the energy you take. Alternatively, what about a small generator that you fill with gas in the event you need to top up and there's only a gas station nearby?

<comment><USER31> There's already a standard EV charging port, called J1772, and the Tesla Model S comes with a J1772 adapter.

A Tesla Supercharger has a maximum output of 100 kW (400V, 250A).

J1772 level 2 has a maximum output of 19.2 kW (240V, 80A) but I believe most don't put out the maximum amps.

If you have an EV with a small battery and you're trying to get around town, a J1772 stop might be useful. For a Tesla on a long distance trip, a J1772 stop won't be worthwhile on its own unless you're desperate. (If you're stopping anyway for some other reason, you might as well plug in if it's convenient.)

</comment></comment><comment><USER32> Former GM employee here: Michigan's Big3 and their Media partners hate change. And change is coming: electrification, self-driving car-as-service, direct sales, diminishing per-capita car miles. Tighten your seat-belts Big3.</comment>


JWZ: that "duct tape" silliness - <AUTHOR> http://jwz.livejournal.com/1096593.html

<comment><USER2> _and yet he doesn't fetishize the latest fads_

If I were to write a blog post about jwz, that would be the core of it. Not anything about duct tape.

Our industry is full of insecure people who grab on to the latest fashion like lemmings. Inheritance is in, then it's out. Patterns are in, then they're out. SQL databases are in, then they're out. jwz's writing has, in a small way, contributed to my mental liberation from software industry group think.

Not that he's unique, but he's in the clear thinking minority and he's a good writer.

Linus Torvalds is also a good example. See any thread where someone insists he should have used C++ or a microkernel.

<comment><USER3> I completely agree. This is a blog post I wrote on the subject: [http://robotr.tumblr.com/post/189911981/following-trends- wha...](http://robotr.tumblr.com/post/189911981/following-trends-what-to- focus-on) (but you do a great work telling this briefly)

<comment><USER4> Most languages worth learning expand your mind. They really do.

Lisp lets you to see your source in different light. Haskell makes you rethink expressions. C lets you know how it all works under the hood. Factor makes you think both directions.

There are also languages that set the bar high for you. Ruby for elegance. Prototype or jquery for making complex ugly thing a paradise. Even Perl's CPAN shows you the value of cooperation and modularization.

Even bad languages teach you a lot about ugliness, bad decisions and denial.

The same can be said about quite a few frameworks or even tools. strace makes programs transparent, for example, while tcpdump makes you see, you realize you were blind.

As for math and algorithms, you suddently know enough of them, they're pretty finite.

<comment><USER3> I don't agree.

Imagine two paths for a developer:

\- learn a lot of languages, like everyone else does... a lot of this learning will be useless with time

\- learn, for example, a lot about computer vision... the road for this is not "pretty finite" and as you learn more about this, you can work on more and more impressive projects every time (making your value bigger)

This is how I see it, and I don't think the first path is worthwhile. (Yes, I learned a lot of languages and frameworks too... but at a point I started asking to myself: why care about most of it? the real stuff is not this)

I think the Linus Torvalds example was a good one. Or John Carmack. Do you see them talking about a lot of languages and frameworks or do you see them learning and doing new stuff?

</comment></comment></comment></comment><comment><USER5> I am pretty sure that isn't really an example of "damning with faint praise" - it is clear to anyone that the use of the "duct tape" phrase was dramatic, considering he then goes to describe jwz as being one of those people that just gets out of bed looking good etc... (NOT faint praise !)

That would be "yeah, jwz did an OK job on netscape" etc..

<comment><USER6> It definitely struck me as faint praise. It sounds like he's talking about the village handyman who lives in the granny shack behind Jake Doe's place and whom no one is quite sure where he came from.

<comment><USER6> It's not that everyone doesn't love and appreciate the village handyman. They really like having him around. They just don't respect him very much.

</comment></comment></comment><comment><USER7> Reading between the lines of Joels original article, I must say I am a bit delighted to understand to that even Joel got "frigtards" into his team (I had to look up this term in a dictionary - very funny ;o). Despite all guerilla guides on interviewing and telephone screens etc. pp.

In preparation for my last interview I read a lot in Joels blog and found it very helpful. But in the end, the guy we hired IS a frigtard. The only difference to Joels description is, that he usually comes with a cup of tea into my office, not coffee. But the focus on useless, time consuming, elaborate bs is remarkable.

Just a side remark. And my fault of course.

</comment><comment><USER8> A friend of mine commented today had HN a "trending topics" list, duct tape would be heading it for the last couple days...

</comment><comment><USER9> I'm glad JWZ commented on Joel's essay. Joel's work is of varying quality and yet he gathered quite a following of people who accept whatever he says without criticism.

Fortunately, JWZ has way more credibility for anyone who has actually looked at code.

</comment><comment><USER10> The whole article was a back-handed compliment. The funniest part, though, is that Joel doesn't even seem to know it.

</comment><comment><USER11> This whole duct tape programmer thing seems like a huge - and obviously working - marking tactic in order to sell that book. I mean, how often have we seen this story on hackernews since Joel posted the original article?

I have to say: Well done, and everyone that blogs about it helps to spread the word about the book.

</comment><comment><USER12> Now that thousands of (intelligent) people have wasted hours discussing Joel's insane article, can we all just move on? Please stop posting any more of the duct tape articles.

<comment><AUTHOR> I disagree with that, because this is "the duct tape programmer" _himself_ , having a say in the matter.

<comment><USER13> His say basically is that we should all stop talking about programming and actually program things, because we'll all learn a lot more about what _actually_ works in practice rather than what we _think might work_.

This is incredibly good advice which I can't seem to follow myself. I'm on HN during the workday instead of getting my damn CSS layouts to resize correctly, after all.

<comment><USER14> You ever look at jwz's markup or CSS? He's solved that problem by bypassing it entirely. Go work on something fun.

<comment><USER13> His pages also tend to be butt-ugly. ;-) I get paid to make things pretty, or rather to take the pretty designs that interaction/visual designers come up with and make them actually work, across all browsers, maintainably, with a minimum number of bytes.

In return, when I'm not wrestling with CSS I can play with massive quantities of data and a few zillion machines. Not a bad trade-off IMHO.

<comment><USER15> In return when JWZ is finished hacking he hangs in his own nightclub. Not a bad trade-of IMHO ;)

</comment></comment></comment></comment></comment></comment><comment><USER16> I think Joel was also plugging a book in that post. Gee ... look at all the traffic he generated. (yes I ordered it and it arrived today)

</comment><comment><USER17> for a long while i thought jwz was female. just thought i'd throw that out there. (the "he" pronouns here and in other articles set me right. not sure how i came to my previous conclusion or why it lasted so long)

<comment><USER18> I don't think it is weird to assume Jamie is a female name.

</comment></comment><comment><USER19> I read this interview of JWZ by Peter Siebel, joel missed something, but there are few thing in interview which i couldn't understand or better say trying to understand

This is my post regarding that [http://weddew.com/blog/2009/09/productivity/why-so-much- rush...](http://weddew.com/blog/2009/09/productivity/why-so-much-rush/)</comment>


YC: What is competitive pay in SF? - <AUTHOR>

I'm looking at a few jobs in SF on craigslist and no one seems to list compensation of any sort (salary, bonus, equity) for a Front-End Developer or PHP Developer.<p>Any idea what average salary is for someone with 2+ years and plenty of demo's? <comment><USER2> I recently interviewed in SF area, and as a result did quite a lot of research on salaries, cost of living, benefits, etc, etc.

A typical salary in the Dallas, TX area for a software engineer like you describe is in the $60K ballpark plus benefits. To achieve a comparable standard of living in the Bay Area, you'd have to get _a minimum_ of $85K + benefits, and it's probably closer to $100K + benefits after considering taxes and other hidden costs that I didn't have time to discover.

All that is simply to make an educated guess based on standard-of-living equivalence, of course. I have only very vague ideas of what actual pay scales in SF are.

</comment><comment><USER3> sub-question: same question but for the seattle area; web developer or software engineer.

figured i'd save space and ask it here</comment>


Minerals and metals scarcity in manufacturing: A 'ticking time-bomb' - <AUTHOR> http://www.ukmediacentre.pwc.com/News-Releases/Rare-earth-metals-scarcity-A-ticking-time-bomb-for-the-world-asks-PwC-1174.aspx

<comment><USER2> The study is interesting, but the linked press release is pretty sad, and has been roundly mocked across the internet.

You see, the headline is: "Rare earth metals scarcity: A 'ticking time-bomb' for the world, asks PwC?"

This headline would work better if the study was about rare earth metals. It's not. Also, I'm not entirely sure what "flurospar" is, but Google indicates it's some kind of paint. The actual study, as opposed to the press release, includes some discussion of "fluorspar", which is something quite different (although it's still not a metal _or_ a rare earth...).

Again, the _study_ is fine, and doesn't make any of those stupid mistakes, but the press release is shocking.

</comment><comment><USER3> I'm interested in how hard it is to recycle these things from scrap electronics.

There are many developing nations where a clean safe recycling factory would be very much better than scavenging scrap from a dump.

It seems to solve a few problems - giving people work and money; diverting dangerous materials form landfill recycling; etc.

It's weird seeing tantalum on the list, and knowing how many tantalum capacitors are thrown away each year. Or lithium, and knowing how many mobile phones I have stored away. (At least mobile phones now have some value and get sold onto recyclers.)</comment>


Ask HN: When to ask for my first raise? - <AUTHOR> TLDR:
1) Should I ask for a raise at my 1-year anniversary, at the end of the calendar year, or after my project launches?
2) What are good sources for compiling information about salaries for my position?
Explanation:
I am a team lead at a company that writes software for clients. Next month I will have been here for 1 year. I love the company, the work, and my team.
The company has a reputation for not giving you anything you don't ask for, raises and promotions especially. There is a yearly review process but it's largely divorced from compensation discussions in that it's not discussed and is not open for discussion. With next month being my 1-year anniversary, is it appropriate to ask for a raise then, or should I wait until the end of the year?
I am also wrapping up my first greenfield project leading my team of 3 devs + myself (~50% dev time), which will be in UAT in December and production late January/early February. Should I wait until that launches to bring up a raise? My boss mentioned discussing compensation after but I believe he was referring to a bonus for getting the client to increase the team size.
I have technical chops but am lacking in the negotiation side of things. I have been underpaid before and just want to avoid a situation where I am leaving a lot of money on the table (or approaching this the wrong way and upsetting my boss). <comment><USER2> In my experience there are two types of bosses (and thus companies). (1) can recognise value delivered and open to candid discussion about raises; and (2) always trying to get more for as little as possible.

If your boss / company is of type (1) then I think that when system goes into production is a very good time to discuss the value that you have delivered and what you expect to do in the future. Remember merely doing a good job isn't raise worthy - you need to demonstrate that you deliver even greater value.

If your company is type (2), then start looking for a new job and use your recent accomplishments to present a strong case for your skills at any potential new job.

</comment><comment><USER3> Never ask for a raise, unless you're willing to quit your job. Just look for positions at other companies.

<comment><USER4> "never" is a bit over the top, but your comment is basically correct.

by all means, pursue a raise at your current firm, but i think the assumption of the above comment is that many organizations fall into category (2) (see CyberFonic's comment), and i tend to agree. job-hopping is the more effective way to increase one's compensation in the long run.

edit: have a BATNA, basically.</comment></comment>


Campaign to collect data on social media bias raises free speech, privacy alarms - <AUTHOR> https://www.washingtonpost.com/technology/2019/05/17/white-house-campaign-collect-data-social-media-bias-raises-free-speech-privacy-alarms-experts-say/ <comment><USER2> "Facebook, Google and Twitter, meanwhile, long have stressed their political neutrality." I never thought I write this, but today I am more scared of them, than the government, and I am a government-minimalist libertarian of-sort. I can force the government in some way and shape to disclose information. Have you tried it with a politically inclined corporation?</comment>


4 Steps to Make Your Interviews Suck Less - <AUTHOR> http://blog.benroux.me/4-steps-to-making-your-interview-suck-less/ <comment><USER2> Structured interviews work better than unstructured but they are still a poor indicator of an employee's future value.

You should try psychometric testing and other measurable things instead of chatting.

[http://www.theguardian.com/lifeandstyle/2015/nov/22/why- job-...](http://www.theguardian.com/lifeandstyle/2015/nov/22/why-job- interviews-are-pointless)</comment>


Ask HN: Which web apps you pay for suck? - <AUTHOR>

I'm talking about those web apps you are paying for yet not satisfied. May be you didn't like the UI or you think it is overpriced or you aren't getting enough out of it? <comment><USER2> I purchased a year subscription to RescueTime but now think it was a total waste of money and configuration. It is a minor curiosity to see where I spend my time, but gimmicks to keep me from doing things I am otherwise inclined to do (like spending an hour or so on HN a day), are not good long-term solutions -- often ultimately creating a backlash as they are perceived as solutions.

For example, I know someone who created a weight-losing app in which you bid against yourself to meet certain goals for losing weight. It is sort of a perverse incentive and it is much better to encourage healthy habits (e.g. exercising, eating better) than try to stop people from doing things that they have an inclination to do. As an example, it is better to give someone who only knows McDonalds a good burger so that they go out of their way to eat a good burger (presumably less frequently) rather than creating a system that gives them a minor electric shock every time they show up at McDonalds.

I suppose you could make a case for RescueTime on the basis of monitoring your employees, but I'm also generally opposed to this also. You should basically only hire employees that want to do their job, rather than hiring people or tools to monitor and "enforce" productivity.

Which is to say, peak productivity comes from within and from being engaged in the project one is doing, rather than any quantity of external stimuli. I stopped perceiving a need for RescueTime as soon as I left behind crappy consulting gigs and started doing things I enjoyed again.

<comment><USER3> If you have 1.00+ scores, the positive feeling from being way up in the blue is nice. Also, I have a max distraction goal and I get some reinforcement from not seeing it until late in the day if at all. However, I agree I'm paying for little more than to support the free service.

<comment><USER2> Yeah, the being way up in the blue is nice, but it all depends on how you weight the programs.

<comment><USER3> Do you change many settings? I rate what's not categorized (mostly netflix -2 and my project sites as +2) but leave default settings almost whenever I can. Its ability to give useful reports immediately is what I like about it.

<comment><USER2> A bit, but so much for me ended up being generic browser usage (I also use a web-based browser) that not all that much was useful. I think it might have been a bug in RescueTime that didn't always capture the information on the site visited in the browser.

Anyways, I don't think about it much, I don't use it, and I don't miss it.

</comment></comment></comment></comment></comment><comment><USER4> It doesn't "suck" at all, but I wish Freshbooks did a whole lot more. I've sent in at least 5 feature requests that seem relatively simple, but are dismissed (as far as I know).

I'm happy with the service and pay the $30 bucks without cringing, but it could be much better.

<comment><USER5> Tried Invoice Machine?

<comment><USER4> Nope, I'm pretty committed with Freshbooks at this point. Here are some of the features I'd love though: 1) Ability to upload files to my invoices 2) Ability to send as a PDF 3) Ability to use my customers address data in ways that lets me analyze it (i.e. geographic distribution, avg. invoice price per city, etc) 4) Ability to discount specific line items rather than global 5) Sending HTML emails 6) Default payment methods (per customer or globably) 7) Custom payment methods (i.e. marking payments as "email money transfers - this one they said they will put in for a next release)

Anyway, I'm just telling them anything I can think of as I can see on their forum that they have a lot of user feedback. If enough people want something I'm sure it will come aometime)

The coolest and most useful thing would be analytics with the data they have... I'm sure it wouldn't be horribly difficult either, if I can export the customer data I'm sure I could do it myself (oh there is another one, I don't think I can export my data easily)

</comment></comment></comment><comment><USER6> I guess you could consider Safari a "web app", of sorts. I like access to the content including from any machine having a web connection -- but the interface has remained an uncooperative, buggy PITA for some time, now.</comment>


DjangoPeople.me - <AUTHOR> http://djangopeople.me

<comment><AUTHOR> A replacement for the now-twice-dead djangopeople.net. A friend and I built it in our free time over the course of a month or so.

If you're a Django user, we'd love to get your feedback on it.</comment>