MusicForProgramming(); - <AUTHOR> http://musicforprogramming.net/ <comment><USER3> _Music possessing these qualities can often provide just the right amount of interest to occupy the parts of your brain that would otherwise be left free to wander and lead to distraction during your work._

Finally - someone who recognizes that there's a curious & busy part of the brain which must be kept preoccupied during complex tasks, and mixes music just for that purpose.

"Trance" music podcasts are a great approximation for this. (See "The Vocal Trance", "Above & Beyond: Trance Around The World", "The Perfect Mix", "Push The Night", "Perfecto Podcast", "The Sound of Trance", "Shakedown Podcast")

ETA: Alas, too many managers don't understand this; they think you're getting distracted by the music, and can't comprehend that it is necessary to facilitate focus.

<comment><USER4> > Finally - someone [...] mixes music just for that purpose.

DJ Bolivia has been quite known for his "Music to code by" mixes, I definitely recommend them.

[http://djbolivia.blogspot.com/2011/04/music-to-code-by- volum...](http://djbolivia.blogspot.com/2011/04/music-to-code-by- volumes-1-3.html)

<comment><USER5> Emillon, thanks. Some of those Music To Code By mixes have a fair amount of vocals though. I think nowadays, a lot of coders would prefer my weekly radio show at www.chma.fm.

The drawback with the radio show is that each episode has a 25 to 60 second promo tape at the intro, but after that it's all music, no advertising, and I don't do voiceovers. I'd recommend episodes starting at about #070 - I was still trying to find a groove in the first seventy, and I only stopped doing an intro voiceover in the early 70's.

They're also on SoundCloud (I just archived them all starting a few weeks ago) so you can skip around easily if you need to: <http://www.soundcloud.com/djbolivia>

<comment><USER4> Nice, I'll check those out !

I listened to the first episodes but for some reason I preferred your former mixes. Let's see how the latest episodes are doing :)

<comment><USER5> They are definitely a bit darker, more tech-house. I guess the style changes within each show, but from show to show it's consistent. The first half of each show is generally low-key tech-house, but then I start speeding it up a small amount and using more "busy" progressive house tracks later in the episode. But not many vocals in each. Some people will like these better (the sound quality is also better), but some coders will definitely prefer the six older "Music To Code" By mixes.

</comment></comment></comment></comment></comment><comment><USER6> Made a Pandora station seeded from the artists in all the mixes.

<http://www.pandora.com/#!/stations/play/738121268334091862>

<comment><USER7> I really wish Pandora was in my country too. SSH tunneling is too expensive.

<comment><USER8> Little known fact: only the webapp part of Pandora is IP-restricted. The media servers are open to the world. So as long as you can load the player through a tunnel, the actual mp3s can go through your normal connection.

</comment></comment></comment><comment><USER9> This is definitely one of the areas that is to each his/her own.

I found (the majority of) trance music superficial and get quite easily bored listening to them. Songs with lyrics messes with the language processing module of the brain and I don't want that kind of distraction. So I listen to classical, instrumental, OST and some techno (that are NOT tons of bass).

Example of songs I am listening to now:

Pierre Bensusan - Kourouts Nota (highly recommended)

Eric Johnson - <USER2>

Steffen Schackinger - On a rainy night

The Glitch Mob - Animus Vox

Klint - Diamond (OST from Snatch)

Mirwais - Disco Science (OST from Snatch)

Nathaniel Mechaly - Opéra (OST from Snatch)

...

In case anyone is interested, this is my playlist on Grooveshark: [http://grooveshark.com/playlist/Sen+s+Music+For+Coding/66931...](http://grooveshark.com/playlist/Sen+s+Music+For+Coding/66931078)

Again, music snobbery is one of the worst topics of discussion (I certainly don't want to invoke it), to each his/her own.

<comment><USER10> good call on glitch mob, I would check out emancipator too

</comment></comment><comment><USER11> My absolute favourite album to code to would actually be the Tron Legacy soundtrack by Daft Punk, but I've also spent the last few years at uni listening to <http://www.prettylightsmusic.com/> while I code: his albums are all available for free/donation, and the genre is kind of down-tempo electronic. There's the occaisonal vocal sample, but I've found it doesn't distract me from work.

Endtroducing by DJ Shadow is also worth a listen, as although there's vocals, they're generally calm. Example: <http://www.youtube.com/watch?v=32X-ieCav-M>

<comment><USER12> I listen to the Tron Legacy soundtrack a few times a week. It's perfect for getting shit done. Enough intensity to keep me focused, not enough to be distracting.

I'm also partial to Fuck Buttons - Tarot Sport when I want something weirder, and DRMHLLR when I want something less electronic.

</comment></comment><comment><USER13> I used to find <http://musicforhackers.com/> the perfect background to coding, but they're down, and I've never worked out another source of the sort of stuff they played.

<comment><USER12> All my upvotes. I started listening to this 15min ago and it's been 100% perfect so far. Thanks!

</comment></comment><comment><USER14> My go-to artist is Zoe Keating (layered cello, and on bandcamp as an added bonus: <http://music.zoekeating.com/>). She's also quite interesting to follow: she's heavily into twitter, and is quite open about her profits, dealings with labels, etc.

Otherwise though, vocal-less trance is usually pretty effective. I love all the recommendations these threads bring up -- thanks everyone!

<comment><USER15> This is wonderful; thank you for the link. Just bought the download. :)

I've recently been hooked on 41 Strings, a short vocal-less composition by Nick Zinner (of the Yeah Yeah Yeahs). He's performed it live in a bunch of places, but it's available for download here: [http://www.thecreatorsproject.com/blog/download-nick- zinners...](http://www.thecreatorsproject.com/blog/download-nick- zinners-i41-stringsi-and-watch-making-of-video)

<comment><USER14> I just got around to checking that out; thanks!

</comment></comment></comment><comment><USER16> Atmospheric drum'n'bass is where it is at for coding. Warm lushness, yet rhythms that will help you keep your mental cadence up.

Here are two mixes you should DL & listen to:

[http://archives.bassdrivearchive.com/1%20-%20Monday/Atmosphe...](http://archives.bassdrivearchive.com/1%20-%20Monday/Atmospheric%20Chamber%20-%20Indigo%20Sync/2011/%5B2011.05.02%5D%20Atmospheric%20Chamber%20-%20Indigo%20Sync.mp3)

[http://archives.bassdrivearchive.com/4%20-%20Thursday/Scenic...](http://archives.bassdrivearchive.com/4%20-%20Thursday/Scenic%20and%20Advisory%20Show%20-%20Scenic%20and%20Advisory/2011/%5B2011.12.22%5D%20Scenic%20and%20Advisory%20Show%20-%20Scenic%20and%20Advisory.mp3)

Lush atmospherics, low-slung 29-38hz basslines, rock out to either full-time at 175bpm or half-time at 87bpm, depending on your mood.

<comment><USER16> And on a more upbeat, liquid sunshine note, for those who want to go faster/harder: [http://archives.bassdrivearchive.com/1%20-%20Monday/Atmosphe...](http://archives.bassdrivearchive.com/1%20-%20Monday/Atmospheric%20Chamber%20-%20Indigo%20Sync/%5B2012.01.16%5D%20Atmospheric%20Chamber%20-%20Indigo%20Sync%20%5BSpecial%20Guest%20Soundsurfer%5D.mp3) (Bjork remix at the end kills it)

</comment></comment><comment><USER17> If you use background music only for noise cancellation (crying babies, reconstruction works etc.), I recommend <http://www.simplynoise.com/>. It's not as distracting as even the most minimalistic trance.

<comment><USER18> Ah nice. Definitely bookmarking this. Also related, I started using rainymood, fireplace and jazz loops found on a reddit thread from a while back [1]. After using different combinations of the 3, I've found that sometimes music doesn't cut it, and a simple fireplace/rain loop helps me work better.

[1] [http://www.reddit.com/r/reddit.com/comments/ca4bl/time_to_ge...](http://www.reddit.com/r/reddit.com/comments/ca4bl/time_to_get_classy/))

<comment><USER17> These are great, too. I can't stand the water sounds, though. After a few minutes I feel an urge to urinate :).

</comment></comment></comment><comment><USER19> Whilst not music, I find listening to <http://www.rainymood.com> to be great for concentrating. It's a 30 minute sample of a rain storm.

It got me through my Master's dissertation, where I had it on loop for hours at a time.

Fiddler tells me you can currently grab the mp3 from here <http://22.214.171.124/audio/RainyMood.mp3> (this was especially useful for the times I wanted to be disconnected from the internet to focus on work).

<comment><USER20> Most of the time it helps me sink into deep sleep :)

<comment><USER21> Yep, add an extra point of help for those suffering with tinnitus (like me) and the site is suddenly made of gold.

</comment></comment></comment><comment><USER22> Somafm.com has a few channels with few drums or vocals

9 beet stretch might be of interest to anyone wanting something long noise/dronescapes

</comment><comment><USER23> from <https://news.ycombinator.com/item?id=2715066>

"If someone integrated a contextual playlist generator into a web-IDE and changed the music based on length of current session, degree of nesting or other complexity values, time of day based on location, etc..., I think it would be a much appreciated feature."

</comment><comment><USER24> Jan Jelinek's music is great for programming. At least for me. :)

[http://www.youtube.com/watch?v=4jKqVswlAZ0&feature=relat...](http://www.youtube.com/watch?v=4jKqVswlAZ0&feature=related)

<comment><USER25> Make sure to check out his LP under the name Gramm.

first track: <http://www.youtube.com/watch?v=4kHEu50uq3w>

<comment><USER24> Was my coding soundtrack for years. :) Actually I couldn't find a less distracting album yet. Just a little more than silence.

</comment></comment></comment><comment><USER26> I wish these were compiled in a Soundcloud - something mobile-friendly that lets you skip around in a mix without downloading the thing. And the hosting is pretty slow.

<comment><USER27> Hosting seems pretty borked at the moment.

And yeah would be great to be able to preview some of this without downloading a 100MB+ file...

<comment><USER28> Agreed, I didn't want to waste a hundred megabytes of the owner's bandwidth (plus the time to download) just to sample the file, so I pasted the link into a media player to stream it. However, it was not able to jump ahead in the program I used (Media Player Classic).

<comment><USER29> I made this a while back <http://www.soundcloudwall.com/>

</comment></comment></comment></comment><comment><USER30> I used to be able to dev to any kind of music or talk, but it's gotten harder as I've gotten older. Sometimes I try to pick music that culturally matches the web site I'm working on.

\- Classical: sometimes pleasant, but can be too dramatic. \- Hard electronic (dance, club, dubstep): too distracting

Minimal or ambient techno tends to be way to go when I'm trying to focus on something, but need something to keep that part of my mind occupied. Soma.FM and Digitally Imported have the best streaming stations for that, IMHO.

<http://somafm.com/spacestation/> <http://somafm.com/dronezone/> <http://www.di.fm/minimal> <http://www.di.fm/chillout>

</comment><comment><USER31> I think the site is starting to creak under the strain. Perhaps a torrent of the MP3s would be a good idea?

<comment><USER32> I only have one, but it's quite nice.

magnet:?xt=urn:btih:RT5HIT44ZRQPNZOBCP7WAWXC4X5XT43D&dn=music_for_programming_4-com_truise.mp3&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce

<comment><USER32> And here's a list of all so far for future reference, seems like the site is doing fine for now though.

magnet:?xt=urn:btih:LKY6JNYEXZZ3DNXJGMQANRQRC65DEDMS&dn=music_for_programming_1-datassette.mp3&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce

magnet:?xt=urn:btih:YQN3QLRTSAYWBWT3BHOVJJHHSWBYOQIJ&dn=music_for_programming_2-sunjammer.mp3&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce

magnet:?xt=urn:btih:UE3W6G6R5XQ5A6RV4HU74LCUIFJWMXRK&dn=music_for_programming_3-datassette.mp3&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce

magnet:?xt=urn:btih:RT5HIT44ZRQPNZOBCP7WAWXC4X5XT43D&dn=music_for_programming_4-com_truise.mp3&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce

</comment></comment></comment><comment><USER33> <http://www.limbikfreq.com/> <http://somafm.com/>

</comment><comment><USER34> Few years ago I wrote an extreme time stretching software ( <http://hypermammut.sourceforge.net/paulstretch/> ). You can use it to get a nice audio ambiance from any music or sound.

<comment><USER35> I remember when paulstretch was making the rounds a year or two ago and I still find it fascinating- just want to say thanks!

</comment></comment><comment><USER27> I pretty much just play Trent Reznor when I don't feel like putting together a playlist.

I've also really enjoyed listening to motorik rhythms lately. Something about that beat makes me feel like I'm constantly moving forward. Stereolab are the modern masters...

</comment><comment><USER36> Side question: why do you think so many coders prefer electronic music to be productive?

Based on the comments here, electronic music (whether it's ambient, trance or dubstep) appears to be the assumed genre.

<comment><USER3> 1\. As vishaldpatel notes, the pattern resembles meditative mantras. However the mind reacts to religious chanting, "trance" resembles that and invokes similar focus to the exclusion of other distractions. Indeed, we call the music "trance" for a reason.

2\. The music does not demand attention to itself. Most other music is created with a "drop what your doing and pay attention to ME" sense, and we go to concerts and pay good money to listen to such music for what it is as the center of our attention at that time. Dance music derived from ambient origins creates a beautiful backdrop to something else, driving away other distractions and setting a pleasant environment for whatever we really want to do; most of it is created for, well, dancing - but the style where the focus is on self & moment, not on music or others & events.

In our culture, very little else combines to create this audio backdrop combining meditation and high energy. Most instruments demand the musician(s) focus on a full performance, and hence expect (hope?) the audience to give similar attention - the antithesis of what we're looking for here. Even "minimalist" acoustic[ish] music like Philip Glass & Steve Reich, which resembles "trance", requires an intense single-performance effort & focus of the performers, giving the implication to the audience that similar focus should return the favor.

Electronic music allows lots of free-running loops, zero-effort samples, edited-to-perfection sequences, and time-unconstrained editing after the fact - to wit, it's not created live, not intended for live performance, and the artist has no attitude of "I'm not utterly focused on perfect end-to-end performance of this, so I don't expect utter focus of the audience". Acoustic meditative music heads this way, but involves the performer in the focused activity; music isn't an ingrained part/consequence of coding.

Upshot: electronic music lends itself to creating coding-productive music. We'd like such music from other sources, but nothing else lends itself to producing such high-energy long-run content without demanding the listener's attention.

<comment><USER37> > The music does not demand attention to itself.

Interesting that the reasons given here mostly also apply to game soundtracks as well, which is mostly what I listen to while coding. (Overclocked Remix has some great compilations if you are looking.)

I suspect game soundtracks differ from film soundtracks in that they're the backdrop to something that's still interactive, but I'm not sure how that comes into play.

</comment></comment></comment><comment><USER38> One of my favorite CDs for coding: Ecco the Dolphin. I'm not making it up, the CD by Spencer Nilsen is amazing, just perfect to code to. Also, the song "Water Ruins" from the video game Jet Force Gemini and anything by Opus III is excellent as well. Then there's "Just Hold On" by Jillian Aversa, and Super Metroid remixes on OCRemix, "Kindred," "Avien," and "Solitude." And I have dozens of trance CDs for coding too.

</comment><comment><USER39> Alpha and Omega (dub) and is the music I code by, repetitions, echos and reverb, the groove just takes you forward in your code. Example: <http://grooveshark.com/s/Chantig/41T4IJ?src=5> <http://grooveshark.com/s/Higher+Than+High/2JhKQT?src=5>

</comment><comment><USER40> Aphex Twin's Selected Ambient Works?

<comment><USER41> This is what I came here to say.

I just started trying to improve my focus with isolating earbuds (haven't invested in noise cancelling cans yet) and rainymood.com. I heard the term "ambient" recently and decided to give it a try on Pandora, and got Lichen (#19) from Vol. 2 as the first track. I picked up both albums from Amazon soon after. Having no previous connection to electronic music at all and only knowing Aphex Twin from "Come to Daddy" and "Windowlicker" (not my thing), I was pleasantly surprised.

Some of it's a little dark and/or tweaky, but most of it is great to have on while working, and it covers a range of upbeat/downbeat without ever getting into "dance beats", which don't help me at all.

</comment></comment><comment><USER42> For me they are two 'states'. When i am doing something 'tough/complicated/new etc' that needs 100% of my attention i need complete silence, no music, no sounds, nothing. When that's not the case (95% of time) i am fine with any kind of music, my taste goes from dubstep to classical and based on the mood i am fine to listen to anything.

<comment><USER43> I cannot agree more. Often it makes me wish there was some type of program/device that plays music based on concentration levels.

What happens when I start getting into something complicated, is that I _notice_ the music. Until this point, it's just kind of in the background. It feels like my brain's saying, "Not enough CPU to play music _and_ work on this problem. Please eliminate the problem."

</comment></comment><comment><USER44> <http://comtruise.com/kc/> More Com Truise mixes

<comment><USER45> I love Com Truise. Ether Drift is definitely one of their best songs: <http://open.spotify.com/track/2Z6CFvujnkDyPgsNn7zBAh>

</comment></comment><comment><USER46> I found the links to what was up: [http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_1-...](http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_1-datassette.mp3) [http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_2-...](http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_2-sunjammer.mp3) [http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_3-...](http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_3-datassette.mp3) [http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_4-...](http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_4-com_truise.mp3)

</comment><comment><USER47> Got a "bandwidth exceeded" error message. Too bad.

</comment><comment><USER48> Buddhists often chant mantras to stay in meditation. I suspect that a steady beat / rhythm has a lot more to do with concentrating than any specific genre. It gets the rest of our minds jogging along with the thing we're trying to achieve.

</comment><comment><USER49> 509 Bandwidth Limit Exceeded :-(

Guess the hacker news-dotting did it. Care to torrent the files? :-)

</comment><comment><USER50> I find that music with no lyrics is most helpful.

Stuff like a lot of post rock, such as Explosions in the Sky or Godspeed You! Black Emperor. Another option is Math Rock like Battles (I am actually listening to Gloss Drop right now).

<comment><USER51> Snap. Though I think I may have accidentally tranced out my co-workers in the past with this music.

</comment></comment><comment><USER52> Personally I enjoy minimal electronic music while coding. It fits nicely into the background while still sounding interesting.

This site has some good minimal mixes <http://deepmix.eu/>

</comment><comment><USER53> I've found the drone music this guy does fantastic for zoning in while coding: <http://zacbentz.bandcamp.com/>

Particularly of note is his 8 hour album "Field Recordings from the Edge of Hell" [http://zacbentz.bandcamp.com/album/field-recordings-from- the...](http://zacbentz.bandcamp.com/album/field-recordings-from-the-edge-of- hell) . It's my go-to when I need to sit down and concentrate.

</comment><comment><USER54> I was recently pointed to <http://block.fm/> as I like to go with some beats to work with and they have some great Dnb and electronica shows. Usually I can't cope with any words, lyrics in the song or presenters on a show, but if I can't understand the words, in this case because I speak no Japanese, it's not a problem and sometimes it's nice to have voices (outside my head) as part of the white noise.

<comment><USER55> Indeed, the presenters on DnB shows are usually really hard to understand. "Big ups to cheesy grifter in tha gleebow huppa dig walla shim bam to ya fo keepin it real ya". I have no idea what they are saying. Since it's _supposedly_ English, my mind has to try and parse it. Very distracting.

<comment><USER54> :) I feel I should point you in the direction of the Hospital records podcast, in case you haven't found it <http://www.hospitalrecords.com/broadcast/>. The usual presenter is the label boss Tony Coleman, and a nicer man you'll be hard pressed to find. No posing, no cheese, no slang and a constant positive attitude. Plus it's an absolutely superb label.

</comment></comment></comment><comment><USER56> Instrumental classical mix works best for me. I put on Mozart or Beethoven radio on last.fm and just skip all the stuff with words (i.e. opera)

</comment><comment><USER57> Wow, you're really asking for a lawsuit aren't you? I mean, MP3s available for download for free on a simple HTML website? What is this, 1998?

<comment><USER58> Or maybe it's more important to help your fellow programmers than worry about stupid legal shit?

</comment></comment><comment><USER51> Personally I find music without vocals, or very familiar music in the background to be useful. Blocks out the occasional car going past. Post-rock is really good unless it sends you into a trance haha.

Actually hate working with headphones on now. Similarly using music I love to block out noisey work environments doesn't work. (Well, noisey work environments just don't work do they!).

FWIW: I'm on last.fm as rock666

</comment><comment><USER59> Matt Mullenweg's method (at least, that's where I first heard it) of playing one song on repeat really works for me.

I like short, simple songs. Something like a song off CYNE's album Evolution Fight works really well. For example: [http://www.youtube.com/watch?v=rP2ISUThbcQ&feature=youtu...](http://www.youtube.com/watch?v=rP2ISUThbcQ&feature=youtube_gdata_player)

</comment><comment><USER60> I've an Icelandic kick going on at the moment, some really great music coming out of there.

Try Johan johannsson <http://www.ausersmanual.org/stage/> which is good but also with extra hacker kudos given the topic

Also Olafur Arnalds <http://olafurarnalds.com/multimedia/>

</comment><comment><USER61> Reading through the comments, I'm glad that there are people on HN who know what good music is - from Trance and Ambient to Dubstep and what not.

And I want to say that Com Truise's album Galactic Melt is one of the best albums for me for 2011. It gets even better if you combine it with Daft Punk's TRON OST and put those two on shuffle.

</comment><comment><USER62> I will add my 5 cents with a mention of Qawwali music and specifically works of Nusrat Fateh Ali Khan. See, for example, <http://en.wikipedia.org/wiki/Mustt_Mustt>. This is not just a ticket to the zone for me, more like a teleport :)

</comment><comment><USER63> I was playing Alva Noto + Ryuichi Sakamoto when a contractor came for an on- site and he remarked on how it was good "design music". He mentioned he preferred ambient music whilst doing cognitively intensive work. When doing something rote, rock, pop or metal was a good choice.

</comment><comment><USER64> Ludovico Einaudi and Max Richter put me in the mood quite nicely. Mozart, the three tenors, and similar stuff also work (but most of the time not as good as the former artists).

Nonetheless that's rara avis among my coworkers, anyone else listening to similar stuff while coding?

<comment><USER65> I sometimes listen to ambient-ish classical music while coding. Ólafur Arnalds and Jóhann Jóhannsson have been recently on my list.

</comment></comment><comment><USER66> I typically just listen to my rockabilly/psychobilly station, I can't handle the trance/techno/ambient/whatever music everybody else seems to advocate. A good Reverend Horton Heat track has a good beat and fast pace too, it's just a lot more fun for me.

</comment><comment><USER67> OK, the site seems down. I managed to download half a mix until i got timeouts. If anyone managed to download those track, a mirror somewhere else, or a torrent would be really nice. Anyone care to provide us with a mirror?

</comment><comment><USER68> _As a general rule, we're looking for 1 hour long noise/dronescapes with no (or very few) drums or vocals.

Happy coding / knitting / drawing / running / painting / writing / baking cakes!_

Apparently this should really be called "MusicToGetThingsDone" :)

</comment><comment><USER69> Groove Salad has always been one of my favorite streams for coding. Lots of down-tempo stuff, tasteful choices: <http://somafm.com/groovesalad/>

</comment><comment><USER70> I wrote a blog post about this a while back, I'll just leave that right here.

<http://pileofturtles.com/2010/12/music-for-programming/>

</comment><comment><USER71> I really like DJ Shadow for this kind of thing. Try "Midnight in a Perfect World": <http://www.youtube.com/watch?v=nmzHRGoKca0>

</comment><comment><USER72> Would love it if there were Spotify playlist links for these.

<comment><USER73> I searched for the artists of episode 1 in Spotify. Only ~1/3 of them could be found and often the specific songs were not there.

</comment></comment><comment><USER74> I always listen to <http://designers.mx/> when I work, lots of great mixes and a nice way to discover new genre.

</comment><comment><USER75> Ulrich Schnauss, System 7, Man With No Name, Art of Trance, Dimension 5, Jean Michel Jarre, Tangerine Dream, Astral Projection, Kraftwerk, VNV Nation...

<comment><USER75> Here's a Grooveshark playlist <http://grooveshark.com/playlist/Music+For+Coding/66934126>

</comment></comment><comment><USER76> That Com Truise mix is nice. Also check out his Komputer Cast 4 part set <http://comtruise.com/kc/>

<comment><USER77> Com Truise is great. Discovered him last year. I'm a sucker for ambient lo-fi stuff.

</comment></comment><comment><USER78> I'm amazed that nobody has mentioned Hybrid yet: <http://www.hybridsoundsystem.com>

</comment><comment><USER79> nice. thanks for the mixes. i use "boards of canada" pandora station to accomplish the same idea. you get a lot of down tempo, ambient styles.

</comment><comment><USER80> dj finny's dnb mixes have been sustaining me for years: <http://www.mixcloud.com/finny/>

i can't handle the monotony of trance, and dubstep can be a bit too much. a lot of dnb also tends to be repetitive, but finny keeps things lively enough for you to pay attention to code

</comment><comment><USER81> <http://musicforprogramming.net/> now has an RSS feed

</comment><comment><USER82> The site is unresponsive, but I wanted to recommend:

Philip Glass symphonies Wagner's The Ring ( unless you speak German ) Slayer

<comment><USER83> The stuff that works best for me is the Phillip Glass early crossover stuff (i.e. post-Einstein.) Things like Glasspieces, Dancepieces, 1000 Airplanes on the Roof, The Photographer, and the three *qatsi films. They're minimal enough not to intrude on the foreground, but also not as harsh and "difficult" as the early stuff like large chunks of Einstein (except the knee plays) and Music in 12 Parts.

</comment></comment><comment><USER84> My favorite album to listen to while I code is probably Blockhead's "The Music Scene." Gets the blood pumping.

</comment><comment><USER85> <http://www.kievbass.com/podcasts/> works for me

<comment><USER86> This site has some really diverse mixes, thanks!

</comment></comment><comment><USER87> I think the site might be going a bit slow for me. Is there a mirror?

<comment><USER88> I reached out to @datassette to see if he'd let us host the MP3s for him on Cloudfront, so fingers crossed!

<comment><USER88> The mirror of #4 is up: [http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_4-...](http://d2cb4q5pwp3op.cloudfront.net/music_for_programming_4-com_truise.mp3)

</comment></comment></comment><comment><USER89> I love listening to Paul Kalkbrenner while programming.

</comment><comment><USER90> I was unconsciously searching for this for a while!

</comment><comment><USER91> What is the license for this music?

</comment><comment><USER92> I can't concentrate on programming because my brain can't ignore how bad the music is.

</comment><comment><USER93> Pink Floyd Mozart Bach

</comment><comment><USER94> i usually stream psytrance, works well for some reason :)

<comment><USER95> I went through a long Shpongle phase about a year and half ago. Great coding music, if you don't mind the heavy psychedelic feel.

<comment><USER96> Same story here. I wish there was more music that sounded like them. Particularly more music that sounded like Dorset Perception.

</comment></comment></comment><comment><USER97> Röyksopp is #1!!!

</comment><comment><USER98> Wrong in so many ways.. I don't know where to start.

</comment><comment><USER99> ETN.fm guys.

</comment><comment><USER100> daft punk, daft punk, daft punk.

</comment><comment><USER46> account suspended whaaa???

</comment><comment><USER101> Some of my favourites:

Michael Brook - Err: <http://www.youtube.com/watch?v=mcyQISCPTTs> Michael Brook - Ultramarine: <http://www.youtube.com/watch?v=ITFyP9b7ius> Michael Brook - Several Times II: <http://www.youtube.com/watch?v=RK-oVQaTg_4> Cliff Martinez - Helicopter: <http://www.youtube.com/watch?v=ogDj3uXLP7w> Hammock - Maybe they will sing for us tomorrow: <http://www.youtube.com/watch?v=j6kKjyHrXMw>

</comment><comment><USER102> Too comments. Nevertheless, I want to share, High Tone, that's all <http://www.hightone.org> (fuck dubstep, let the old people stick to dub)

</comment><comment><USER103> this music is the suxx0r. goa trance > all</comment>


Tips For Keeping Up With iOS Development - <AUTHOR> http://stuartkhall.com/posts/tips-for-keeping-up-with-ios-development

<comment><USER2> It's also worthwhile to watch the WWDC 'recap' videos for a given category or framework every year. These usually include discussion about Apple's reasoning for the changes they've introduced and suggestions about where the categories/frameworks may be going.

<comment><AUTHOR> Yep great one, I missed that all together. Thanks!</comment></comment>


Is there a God? - <AUTHOR> http://completehistory.wordpress.com/2014/02/26/is-there-a-god/

<comment><USER2> If each point could be refuted, and an alternative explanation provided, would the OP listen anyway?

<comment><USER3> [ I am posting this on blog aswell ]

Let me try. Because you like Wikipedia, so will I. But i'll be cropping your arguments if they are too long, I will still answer the whole, original "argument". Please realise, though, that this is not answered by a priest nor scholar, but a believing student that shares his point of view on "common sense". i'll also accent words by _underscoring_ not CAPSING because it focuses way nicer.

Dear erisblastar

"1\. My first reason for losing belief was that I learned evolution is true. (...)"

If your argument is based on dissing with a "Christianity cannot immediately explain away" concept, it's not an argument. Does a discussion require a clock? I find this more of a neutral statement. As of the evolution - it's just a theory that may or may not be true. How come other animals didn't evolve to create hivemind or other exotic form of civilisation?

"2\. On that note, one of the historical problems of the Bible is that there is absolutely no evidence for any Adam or Garden of Eden. In fact, there is much evidence against it, most of it from the findings that support evolution."

[http://en.wikipedia.org/wiki/Garden_of_Eden#Proposed_locatio...](http://en.wikipedia.org/wiki/Garden_of_Eden#Proposed_locations) While we are talking about the Garden - there was no apple, but a "fruit" due to error with translations in ancient times of past.

Adam: [http://en.wikipedia.org/wiki/Adam#Etymology](http://en.wikipedia.org/wiki/Adam#Etymology) same goes for Eve: [http://en.wikipedia.org/wiki/Eve#Etymology](http://en.wikipedia.org/wiki/Eve#Etymology) let's also accept: [http://en.wikipedia.org/wiki/Adam_and_Eve#Scientific_communi...](http://en.wikipedia.org/wiki/Adam_and_Eve#Scientific_community_criticism) I know also of a translation in my language, that instead of "Adam and Eve" uses the "the Man" and "That-of-the-Man".

While I don't prove that Garden existed, it may be treated like a story.

"3\. Another historical problem with the Bible is that it is abundantly clear to any student of geography that there has never been a global flood. There cannot have been. There's no evidence from the rocks. Besides, there isn't enough water on the planet."

That's a good one :) It is true - there is not enough _fluid_ water on the planet. Lets grab the glacers then! also - there _is_ evidence: [http://en.wikipedia.org/wiki/Flood_myth#Claims_of_historicit...](http://en.wikipedia.org/wiki/Flood_myth#Claims_of_historicity) I see here at least 5 good hypotheses.

"4\. Further, not even Abraham is a historical character. He is a literary invention, as even Wikipedia shows."

Well, if wikipedia says so. But even Wikipedia is _unsure_ wherever he did or did not exist.

"5\. Continuing the historical problems, Moses is another character from the Bible who never existed. There was no wandering through the desert for 40 years, and no plagues of Egypt, and no Commandments from Mount Sanai. I'm not a historian and this is meant to be brief, so I'm not presenting the evidence for these last few assertions, but these Biblical figures being fictional is almost as commonly accepted among historians as evolution is among biologists.

[http://en.wikipedia.org/wiki/Moses#Historicity](http://en.wikipedia.org/wiki/Moses#Historicity)

I have to comment on your "haste". If you want me to take this argument seriously, please: present evidence. [http://en.wikipedia.org/wiki/Plagues_of_Egypt#Historicity](http://en.wikipedia.org/wiki/Plagues_of_Egypt#Historicity)

"6\. On a different hand, there are several moral problems with Christianity and/or the Bible. In particular, the Bible forbids neither slavery nor rape. Indeed, it allows the beating of slaves as long as they don't die for at least a day or two (Exodus 21:20-21). In the case of rape, the woman can be put to death for adultery if she doesn't scream loud enough (Deuteronomy 22:23-24) or be forced to marry her rapist (Deuteronomy 22:28-29). Clearly, these are NOT moral positions! (If you disagree, please seek help.)"

So. I disagree. Grab Catechism of the Catholic Church if you're looking for law regarding men. Also I have _never_ seen, heard etc of using Deuteronomy in our "time".

Is this a problem with Christianity? No.

[http://www.biblegateway.com/passage/?search=Deuteronomy+22&v...](http://www.biblegateway.com/passage/?search=Deuteronomy+22&version=KJV) Bible doesn't forbid slavery and rape? I. It's the Old Testament. II. From what I know slavery isn't forbidden because it's common (do you realise I'm talking about the times author wrote the Deutheronomy?). III. Because rape is not forbidden it _does NOT_ mean it's allowed. (sorry for using KJV)

"7\. Further, many sects of Christianity still forbid all forms of homosexuality, masturbation, and extramarital sex. While we should certainly not approve of cheating, there is no reason to forbid other consenting acts of sex. (...)"

O. Sects? Okay... I. How does this prove || disprove God? II. Because homosexuality is unnatural event. We (so do I) believe that God created "Adam and Eve". That's how babies are not born. III. Wet dreams? Show me quote of the Bible concerning this. IIII. Love is not only about senseless and brainless pleasure. V. You say before God, that you love her/him (your spouse) and next few years you say: "well, God. I don't love her but I love another one. Sorry but I made a mistake". There may be good reasons for divorce, that's why it's not forbidden, but _strongly_ and often denied (more of a last resort).

"8\. Another moral problem with Christianity, or at least many sects of it, is that it forbids abortion and contraception. There is no moral argument for forbidding contraception. It does not end a life; it prevents one from beginning. (...)"

My, you are totally wrong and you even don't know it.

I. _If_ "There is no moral argument for forbidding contraception. It does not end a life;" Well done, you just used your own argument to prove, that if purpose of _abortion is to end life_ (KILLS) it is morally "wrong / bad / evil". II. Contraception pills? You mean those hormones and chemicals women take, and then the fertilized egg can't merge(?) with womb? It's the _same_ as abortion, but here the child doesn't have the body which could defend it from killing her.

The problem with abortion is not due to killing - we all should know that's bad. The problem lies in rape.

"However, if it is entirely illegal, it leads to women being thrown in jail for miscarriages." Please - evidence. I need to use arguments, so i need sources."

"To me, this alone is enough to convince that abortion needs to be legal for at least the first trimester." This is becoming absurd. Hey, lets kill someone if we "just don't have the time to be a parent". Absurd: Yes, it's legal to kill during first trimester, but you shan't kill a second after. Who gave you right to decide of life and death?</comment></comment>


Google's answer to iMessage is finally here - <AUTHOR> https://www.cnn.com/2019/12/17/tech/google-android-rcs-messaging-trnd/index.html <comment><USER2> It doesn't offer end-to-end encryption, therefore there is little reason to be interested. It speaks volumes about the product and company that built it, that it's 2019 and it isn't so much as an optional feature to encrypt your sensitive, personal communications.</comment>


Major bug in Snow Leopard deletes all user data - <AUTHOR> http://www.neowin.net/news/main/09/10/11/major-bug-in-snow-leopard-deletes-all-user-data/

<comment><USER2> Interesting. You really have to go out of your way to delete directories in UNIX, so this must be some sort of intentional behavior that is misbehaving. (It deletes your user's data, not the guest's data, right? Seems like the opposite of what you would want to happen.)

Anyway, this is why I prefer operating systems whose source code I can view and modify. It is nicer to find bugs by reading the source code instead of logging into your account and finding all your data gone.

<comment><USER3> Because you've read the source code of user account logins of the OS you're running right now?

<comment><USER4> I don't know if he has, but I've read the source code used for user logins in the OS I'm running.

Depending on exactly where you draw the line between "code used for user logins" and the rest of the OS, I may have fixed bugs in it, too.

<comment><USER5> you are often the exception rather than the rule, cperciva.

<comment><USER6> Yes, but knowledge about code is very transmittable. The fact that someone like cpercival _can_ examine the code, and has, means that I can just freeride on his analysis, along with everybody else who has also read it. Only a fraction of users need to verify the code for all of use to benefit. And "only a fraction of users" for an open source project can still be a lot more users than Microsoft can bring to bear, and a higher caliber of users, too.

Of course, Microsoft _could_ do most of the same thing if they opened their source. People would read that too. But that's another issue, of course.

<comment><USER7> There's a slight problem with the "google the problem, find a patch and apply it": if you can't read and understand the patch, you're in no better (and probably worse) shape than you were before, security-wise.

In some ways having a late patch from a trusted source is better than a quick one from some random place on the net. The best would be quick, trusted patches, of course. A GPG-style web of trust validation of patches, maybe?

<comment><USER8> Typically, the guy who found the flaw and fixed it will submit it to the upstream developers which hopefully will be able to tell if the patch can be trusted or not, apply it to the development repository, eventually release a patched version, and warn vendors(mostly, Linux distributions) to upgrade. The user only has to keep up to date.

<comment><USER7> Sure, but then you're back to having to wait for the vendor to supply a patch.

<comment><USER7> So you're (you being the who downvoted my comment) saying that you're NOT waiting for a vendor to approve and distribute a patch if it's been propesed by an outside developer? Please elaborate.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I upgraded from Leopard to Snow Leopard, didn't use the Guest account under SL until yesterday... thankfully I did not experience this bug.

<comment><USER10> I upgraded from Leopard to Snow Leopard, and my computer got slower and slower as time went on. Opening a file in Vim started to take about 10 seconds. Literally "everything" was slow. Had to reformat and start over. Random, but it adds to my personal statement of "I've never had a smooth OSX upgrade, even after 5 years".

<comment><USER11> Just to give a counter point, I read about people having problems with the Leopard => Snow Leopard upgrade so I was very cautious when it came time for me to upgrade. I upgraded from Leopard to Snow Leopard on my early 2009 Mac Pro and have not experienced any issues yet.

I do however suspect that perhaps the reason I had such a smooth upgrade was because my Mac Pro was quite new and my installation of Leopard at the time it was upgraded to Snow Leopard was pretty much a pristine factory install, with very little if any cruft hanging around.

Still these kinds of things make me happy that I keep an up to date bootable backup of my system drive and I'll be purchasing a separate external drive to use with Time Machine some time soon.

</comment></comment></comment><comment><USER12> Since this story has been around for a while I'm a bit skeptical of a Windows news site making a big deal out of it the day after the Microsoft SideKick incident. Luckily it's a rarely used feature in OSX which is how a bug like this can exist without much fanfare. I'm more concerned about the Finder file- copy-no-merge issue which is dangerous design by choice; not a bug. At least once a week I almost get burnt by it so I imagine normal users who aren't so careful are constantly destroying data due to badly worded dialog boxes.

</comment><comment><USER13> It seems to affect upgrades only, at least that's what the article implies.

This is one of the reasons why I prefer to do a clean install between major releases of any operating system. It has lower chances of hitting some untested or poorly tested config combination that ends up causing strange issues.

<comment><USER14> And after hitting this bug, doing a clean install becomes much less of a hassle. Silver lining!

</comment></comment><comment><USER15> I'm amused by the number of commenters who are jubilously vindicated that OS X has a nasty bug, as if that somehow makes Windows better.

<comment><USER16> I'm not surprised. Just yesterday, everybody was Bashing Microsoft/Danger for something very similar.

[Nitpicker's corner: Dispute "very."]

<comment><USER17> Hence why this weeks-old news is suddenly being pushed by decidedly pro- microsoft sites like neowin today.

<comment><USER18> If it's weeks-old news, doesn't that only make it worse that Apple still hasn't bothered to fix it?

<comment><USER17> Whether it does or not doesn't change the fact that pro-microsoft sites and, apparently, microsoft employees are trying to deflect attention from the sidekick incident by digging up and publicizing an obscure bug in OS X. Crying "b..b..b..but Apple!" when faced with bad press rather than owning what happened might make microsoft fans feel better, but at the price of further alienating developers who see through the transparent charade.

<comment><USER18> While it's easy and fun to assume malice behind everything Microsoft does, sometimes a cigar is just a cigar.

Saying that this news (which _should_ be spread since it can lead to quite unpleasant problems) is being promoted by Microsoft fans doesn't take away from the severity of the bug. And the fact that this news is out _certainly_ doesn't take away from the disaster that is the Sidekick story.

Take a step back and try to avoid looking at it from a "Microsoft is a bunch of evil jerks" perspective.

</comment></comment></comment></comment></comment></comment><comment><USER19> More constructive questions:

How would you change Apple's development process to have caught this bug, and bugs like it? Do any of you have processes in place for your companies that would catch bugs of this sort?

Sure, you can always add a test for this specific bug, but catching other bugs like it? Anyone have positive bug catching stories to tell?

<comment><USER20> Apple need to move away from their current approach of seeding betas/RC to select developers and towards the open beta testing that Microsoft have successfully embraced in recent years.

As the number of users and potential hardware/software configurations continues to grow they cannot expect to cover a respectable percentage of scenarios with their current closed approach to testing.

See also MobileMe Launch.

<comment><USER21> Scuttlebutt is that an early developer seed may be the cause of the problem - so if more people had used that seed, this would have been caught sooner. Of course more people would have been hit by the bug.

</comment></comment></comment><comment><USER22> I've said this many times to many people, but I'm going to say it again. Don't upgrade to Snow Leopard! Install it from fresh!

When I upgraded from Leopard I had a smorgasbord of bizarre problems and bugs - with a fresh install, perfection. And I've seen the same pattern over and over. Stop being lazy and install it from fresh - it's worth it.

<comment><USER23> You're right and you're wrong.

In my experience, you're right to recommend a fresh installation of a significant OSX change, rather than just an in-place upgrade.

However, Apple goes out of their way to say that you _should_ be able to upgrade in-place. And, in general, users want to be able to upgrade in place. It's a reasonable thing to want since it will take at least _some_ time to reimport your data, applications, settings and so on.

So, it's a bit much to call people lazy for doing what the manufacturer promises you can do.

<comment><USER22> Well, yes, you're right - they say you should be able to do it. In my experience with Leopard and Snow Leopard, however, I don't think Apple's QA is good enough for them to be confidently recommending this course of action.

On the plus side, at least once you're set up, you can stick with it forever and a day. Back in the Windows 98 era, you pretty much had to reinstall the same OS fresh every year or go insane ;-)

</comment></comment></comment><comment><USER24> This happened to me this week, slightly differently: I took my non-booting MacBook, on which Snow Leopard had been installed a few weeks ago, into the local Apple store [Note: the disk problem on the MacBook was made more critical by the fact that while investigating it, using my backup disk to boot from, I managed to drop the backup drive about 3 feet, killing it]. I'm not 100% sure what they did: the "Genius" I was interacting with was a fast typist. When I got home, after buying a new backup disk [3X the capacity, ~same price as the old one], the internal drive was not only unbootable, but my user account directory was empty. Luckily DiskWarrior came through, finding just about everything. Almost back to normal.

</comment><comment><USER25> It's Apple's attempt to convince people of the wisdom of enabling Time Machine.

<comment><USER26> Flippant comment, but there's some serious truth in this. _Data you haven't backed up is data you don't want._ Time Machine makes backing up trivial to the extent that it's a zero button solution. I plug in my external hard drive, it recognises it as a Time Machine backup and automatically syncs any changes since the previous backup.

<comment><USER14> Time Machine makes backing up trivial to the extent that you have a sufficiently large HFS volume sitting around, and don't need to back up MySQL databases. And if you're unlucky, it can also automate the process of losing all your data:

[http://tomkarpik.com/articles/massive-data-loss-bug-in- leopa...](http://tomkarpik.com/articles/massive-data-loss-bug-in-leopard/) [http://rondam.blogspot.com/2009/09/time-machine-time- bomb.ht...](http://rondam.blogspot.com/2009/09/time-machine-time-bomb.html)

<comment><USER27> What's the MySQL reference to? I haven't heard of a MySQL-specific issue with Time Machine.

<comment><USER28> For me, at least, every time I reinstalled Leopard and restored with Time Machine MySQL's data would be gone.

<comment><USER29> Was your MySQL installation configured to store data in any of the excluded directories? <http://shiftedbits.org/2007/10/31/time-machine-exclusions/>

</comment></comment></comment></comment></comment></comment><comment><USER30> Great, first the cloud, now local computers. Paper can suffer water damage or be burned. Moral of the stories: your data is never safe.

Redundant backups/distributions is the true way to go.

</comment><comment><USER31> I almost feel like it's "lose all user data week".

Anyway hope this kind of situations are well handled by Apple EULA.

<comment><USER32> I'm not sure what you mean. If you mean you're hoping Apple is well indemnified against civil action because of this flaw, I wonder why you're so concerned for Apple Inc.'s bottom line. Are you an investor or employee of Apple Inc.?

Some degree of liability in cases like this is necessary for companies to have appropriate motivation to avoid it. Yes, there's reputational damage involved, but for situations where the brand / product is less central to the company, the company can't be allowed to just walk away.

<comment><USER33> Agree that liability is important.

In past "delete all user data" issues (I know there was at least one prior case with Mac OS, but I don't remember details), Apple paid for hard drive recovery service for those affected.

You can't always trust 'em (they're a big company after all), but they've behaved honorably in the past.

</comment></comment></comment><comment><USER34> That's pretty amazing considering that the behaviour that causes the bug is not something unusual or rare.

<comment><USER35> I doubt that many OS X users even know they can enable a guest account.

<comment><USER36> isn't it enabled by default? I know that disabling Guest is one of the first things I do to a new Mac/PC/Linux machine.

<comment><USER37> No, it's disabled by default - at least in Snow Leopard.

<comment><USER23> The key question then is what happens _if_ you had enabled it in Leopard and then you install Snow Leopard as an in-place upgrade.

It looks like Apple meant to have the setting revert, so that guest logins had to be reenabled. Instead, you let your friend login to the (still-enabled) guest account and then...

</comment></comment></comment></comment></comment><comment><USER38> This is the reason I NEVER upgrade, always a fresh install.

</comment><comment><USER39> At least one new feature in that service pack! :-)</comment>


Amazon Aurora Serverless - <AUTHOR> https://aws.amazon.com/rds/aurora/serverless/ <comment><USER3> I feel like the choice of the name "serverless" is unnecessarily confusing/controversial, but I like the concept.

The ability to scale down to zero could certainly be useful for automated testing use cases.

As with anything on AWS it will take some testing to discover all the quirks and caveats, but I like the general direction this is headed.

<comment><USER4> Initially, I was responding to agree with you. However, my first renaming thought was for autoscaling aurora which I realized was incorrect because you still have to deal with things like server security updates.

Serverless sounds like the better term to me still because it sounds exactly like what it describes: you never have to deal with a server. Although, I would actually add auto scaling to the name (serverless autoscaling aurora) so users know they don't have to deal with servers nor autoscaling.

What do you guys think?

<comment><USER5> You don't really "deal with" servers in regular Aurora, but you do pay for them. So AFAIK regular Aurora is billed by the hour while "serverless" Aurora is by the hour but only during hours when it's being used. And serverless Lambda is billed per request, so it seems like AWS isn't even using a consistent definition.

<comment><USER4> Don't you? It has been a while since I set one up but I'm pretty sure I had to set the versions and I think you have to launch 2 servers because they have to be part of a "cluster". Shit, I remember I was trying to delete them because I was just experimenting with it to compare with our RDS instances but I couldn't figure out how to delete them (aurora instance was slave to our normal RDS instance and the console kept complaining about something when I tried to delete them after my testing was done. My poor team is probably still paying for those instances)

</comment></comment></comment></comment><comment><USER6> This really is a new paradigm shift for relational databases. In general, on the DB side, you are not able to scale horizontally like application tier. So for the fear of degradation of service, most of us end up overprovisioning on the DB side. With Serverless, auto-scaling Aurora, I think things will change for the DB tier too.

The Serverless section in Aurora FAQ [1] is also worth reading. The main gotcha I think is:

>> Q: Why isn't my Aurora Serverless DB Cluster automatically scaling?

>> Once a scaling operation is initiated, Aurora Serverless attempts to find a scaling point, which is is a point in time at which the database can safely complete scaling. Aurora Serverless might not be able to find a scaling point if you have long-running queries or transactions in progress, or temporary tables or table locks in use.

So I think one will need to focus on quick OLTP type queries.

Still, I am quite excited to see how this shapes up.

[1]: [https://aws.amazon.com/rds/aurora/faqs/](https://aws.amazon.com/rds/aurora/faqs/)

<comment><USER7> The 'main gotcha' seems like the common thing people always gloss over when using IaaS.

It solves already solvable problems (albeit with more specialised tools/people) with a 'magic' solution that works until it doesn't, and then requires even more specialised people to _maybe_ solve it.

But that's the whole profit model for IaaS: offer 'magic' solutions that are worse than what a qualified ops team will build, for the same money, to small companies who dont actually need the bells and whistles, and hope that by the time they do need the bells and whistles they're locked into your platform too much to change when they inevitably realise they made a huge mistake.

<comment><USER8> Well, there is a general thing where small companies build a thing, and then they scale to the point where the thing doesn't work any more, and they have to make some changes.

History has taught me that accepting the inevitability of change is far better than trying to build a thing with so many features that it need never be changed.

In this particular case, I find it hard to believe that anybody will be "locked in" to a serverless SQL database in the same sense that, say, being a game company on top of iOS "locks you into the Apple Ecosystem," or writing your app in Rails "locks you into Ruby."

<comment><USER7> > I find it hard to believe that anybody will be "locked in" to a serverless > SQL database

I didn't say that did I? AWS/GCP/Azure/etc as a whole, are platforms that companies become locked-in to, both technically and in terms of mindset.

</comment></comment></comment></comment><comment><USER9> This is extremely frustrating. One of the biggest use cases for wanting to use Aurora serverless is connecting to MySQL using lambda functions -- Function as a Service apps that can still use rdbms. The problem is that RDS endpoints only exist inside vpcs, and cold starting a lambda function with a vpc network interface can take 10+ seconds, making it useless for an API. I had hoped that, given they were making a serverless MySQL service, they'd make sure it actually plays well with lambda. Nope. Same problems regular RDS has. No better method of securing the connection beyond vpc firewall rules. Amazon, it's been a problem since lambda was launched and it hasn't been fixed. Either fix lambda vpc cold start times, or provide a better way to connect lambda to RDS. Just burying the problem only pisses off your customers when they try to buy into your hype.

And since it always comes up:

* Yes, there is plenty of reason to want to use MySQL with lambda. Wanting to run software on FaaS does not mean wanting to abandon rdbms. For a small app, dynamodb is overkill; for a small app that turns into a large app, dynamodb is a money pit.

* No, adding scheduled heartbeat requests to the lambda functions so they never have to cold start is not a real, long term, scalable solution. It's a hack, it doesn't solve the problem if your app actually scales up, and infrastructure shouldn't depend on horrible hacks to function correctly.

<comment><USER10> I was disappointed to see this as well. I have just recently started to learn a bit more about lambda and the rds/vpc thing has been a bit of a sticking point. I had thought aurora-serverless would fix the vpc issue, I appreciate the autoscaling but I think at this point I'd still rather use rds/Postgres if it has to be in a vpc anyway. Assuming I'll save more time using postgresql advanced features than money on the autoscaling.

I guess everyone is just using DynamoDB with their lambda functions, but I miss a lot of the power Postgres has.

<comment><USER11> What's missing is support for Cloudformation. Why? Because then someone will write a plug-in for the Serverless framework. Then using Aurora Serverless will be simple, no trying to create VPC's as it will be all scripted behind the scenes for you. There's only a single piece remaining and then Serverless will totally boom.

<comment><USER10> That's only part of it, the long startup time is still there, even with cloud formation support. You can easily hack it all together with serverless framework now, and I'm really loving it for learning things but that startup time is going to be a problem for anything customer facing.

</comment></comment></comment></comment><comment><USER12> Assuming this hasn't changed since the preview started:

> The cool down period for scale-down is 15 minutes since the last scaling > operation. The cool down period for scale-up is 5 minutes since the last > scaling operation.

<comment><USER4> From what I have read here / experienced personally, google scaling > amazon scaling > microsoft scaling and each one is an order of magnitude greater in performance (there is an article on microsoft functions vs Amazon lambda which gives you the idea and don't even get me started on google tech versus microsoft/amazon).

However, it is the opposite for sales/marketing/support apparently. It'll be interesting to see where the market goes towards in the future.

<comment><USER13>
        google scaling > amazon scaling

???

<comment><USER4> I've read many comments here about how googles load balancers are way more reactive that amazons as amazons needs "warming" to get them ready. I've also heard great things about app engines dynamic scaling. Unfortunately, I cannot find any article purely related to it.

Here is the article about amazons functions being way more reactive than microsofts: [https://news.ycombinator.com/item?id=16099729](https://news.ycombinator.com/item?id=16099729)

<comment><USER14> Amazon employee here. I can confirm that ALB and NLB do not need prewarming for most customers.

If you are Epic Games running Fortnite on AWS, and you want to direct millions of player connections through a brand new, freshly provisioned load balancer then you should definitely talk to support to make sure the load balancer is prewarmed and ready for that level of traffic.

But 99.99% of websites and service won't need intervention or prewarming at the load balancer level because the load balancer can and will scale up far faster than your backend server provisioning and scaling, or your database will. You only need to worry about prewarming a load balancer in the very specific conditions where you are immediately redirecting millions of active connections over to a new load balancer, and frankly there are very few companies that have that problem.

Additionally even if you do have that problem Amazon gives you the tools to solve it without needing any manual prewarming. Any blue/green traffic switchover at massive scale should probably use a weighted Route 53 DNS record set. You wouldn't immediately cut 100% of your traffic over to a new load balancer, instead you should dial it up in percentage increments while testing and monitoring the new stack. ALB and NLB can autoscale up gracefully and automatically as you increase the DNS weight on the new DNS record.

</comment></comment></comment></comment></comment><comment><USER15> I have to say, it's really frustrating that Postgres is a second class citizen in the AWS ecosystem. Aurora in general is often far behind on Postgres support relative to MySQL. I hope this changes going forward.

<comment><USER16> Isn't AWS Redshift based on Postgresgl ?

</comment></comment><comment><USER17> > _Pay only for the database resources you consume, on a per-second basis._

> _You pay a flat rate per second of ACU usage, with a minimum of 5 minutes of > usage each time the database is activated._

Cool idea, but an IO operation once every 5 minutes is considered (billing- wise) a full time service.

This could unlock a lot of cool potential if it had finer granularity. I can think of some IoT applications that have have infrequent operations which would be cost effective with less minimum time.

</comment><comment><USER18> I had assumed that this would be a HTTPS service with a public end-point, available outside a VPC. But, looks like it is still deployed inside the VPC and accessible over JDBC. Did anyone find any configuration option to deploy it outside VPC? Overall, it looks like good old Aurora RDS with an auto start/stop option, and costing based on that start/stop duration.

<comment><USER19> Aurora requires a VPC, but you can create public subnets to allow for external access to the database.

[https://docs.aws.amazon.com/AmazonECS/latest/developerguide/...](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create- public-private-vpc.html)

<comment><USER18> but then, placing the instance in a public subnet is also not a good idea. And moreover, JDBC connections are not optimized for serverless scenarios.. the cost of connecting/dis-connecting are too high when compared to a light-weight HTTP. And any vulnerability can be potentially exploited. I was hoping to see a true HTTP service, highly optimized for Lambda clients.

<comment><USER20> The blog post [1] provides additional insights that imply it can work well clients despite its ephemerality, and is optimized for client connection pools.

"Scaling operations are transparent to the connected clients and applications since existing connections and session state are transferred to the new nodes."

As for the public subnet concern, you can apply security groups to your database instance to ensure only authorized CIDR ranges can call it. Additionally, you can use IAM authentication [2] for DB callers (only recommended for light-weight applications with low concurrency),

[1] [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Using...](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)

[2] [https://aws.amazon.com/blogs/aws/aurora-serverless- ga](https://aws.amazon.com/blogs/aws/aurora-serverless-ga)

</comment></comment></comment></comment><comment><USER21> AWS, why not PostgreSQL?

The bare minimum cost for Aurora PostgreSQL is $200/month. Aurora MySQL is an order of magnitude less.

Why not PostgreSQL?

<comment><USER13> It's on the way.

<comment><USER21> That's good to hear.

Because Aurora PostgreSQL has already behind MySQL for years. Glad to hear this isn't a perpetual condition.

</comment></comment></comment><comment><USER22> Very exciting! I made a simple bot to scrape lunch specials menus off Instagram and post them to my company's slack ([http://blog.matthewbrunelle.com/projects/2018/05/07/Soup- Bot...](http://blog.matthewbrunelle.com/projects/2018/05/07/Soup-Bot.html)).

One point point was making custom lambas to spin up/down the DB and everything that was needed to use it (a NAT on EC2, and an elastic IP since the default NAT aww provides is pricey). The bot only needs to run for an hour on weekdays so there's no point keeping everything running 24/7\. Excited to try replacing all of that with this!

</comment><comment><USER23> This definitely works from a cost pov. We use a small instance of AWS Aurora which is mostly idle. If we go this route we will need to see how quick the cold-start is and how quick the ACU scaling is. Serverless SQL DB - <USER2> a nice way to to go.

</comment><comment><USER24> I'm excited for this. I have a few small, low budget projects that would either require expensive RDS instances or awkward data management to force the use of Dynamo. Now there appears to be a low cost SQL solution for serverless projects.

<comment><USER25> You say low cost, but if I'm reading that article right, one of the lowest settings (2 availability units) is 12 cents per hour, so if it's being minimally used 100% of the time, it's still a good $86 per month. You can get a cheap DB instance or hosting outside of Amazon for a fraction of that. And it goes up if the DB gets some actual load.

<comment><USER26> If your DB load is consistent and the cost of serverless outweights standard instance then yes go for a standard instance.

However if your DB load is very spiky then serverless Aurora might be cheaper than running an over provisioned instance.

<comment><USER27> Just need to give the option to run at 1 unit.. that'd get you in the ballpark of a normal t2.small server..

</comment></comment></comment></comment><comment><USER28> Is serverless Aurora available in a multi-az high availability form as well?

<comment><USER13> It is multi-az yes.

</comment></comment><comment><USER29> For testing and development databases, would prefer to scale to zero. Weird that they don't offer that as an option.

<comment><USER30> It does scale to 0 when there are no connections to the DB.

Cold-to-warm takes 25 seconds, but for dev/test this shouldn't be a problem.

<comment><USER29> Ah, I totally misread this line: "Aurora Serverless can scale from a minimum of 2 ACUs to a maximum of 256 ACUs. You can specify the minimum and maximum ACUs your database can consume." I thought it meant you had to always run 2 ACUs.

My bad.</comment></comment></comment>


Developing Flash games with Common Lisp - <AUTHOR> http://xach.livejournal.com/175304.html

<comment><USER2> This is _obfuscating_ Flash games with CL. They don't use it to develop any part of the game.

<comment><AUTHOR> From a comment by Austin Haas of Pet Tomato:

"When we have time, we're going to release another installment of this game that utilizes a collection of backend components written in Common Lisp, using SBCL, Hunchentoot, and Postmodern, to allow players to create and submit their own game levels. We use that stuff internally now and it's working great, but we need to clean it up before it's ready for public use."

[http://xach.livejournal.com/175304.html?thread=368072#t36807...](http://xach.livejournal.com/175304.html?thread=368072#t368072)</comment></comment>


What I have learned running a software consultancy over the past two years - <AUTHOR> http://reefpoints.dockyard.com/2013/12/22/lessons-learned-two-years-of-running-a-dockyard.html

<comment><USER2> This feels quite raw. I cringed a few times reading it, in the way that you cringe when someone is telling you something that is taboo but is what they really think. A worthwhile read, I think; thanks for letting us peek inside your mind.

<comment><USER3> curious to hear what you found cringe worthy. was it the hiring/firing part, or was it how he described his client vetting process?

<comment><USER2> To pre-emphasize, my only judgment of the author is that I applaud him for his candor and for being out there and actually doing things. Here are the things that I had a reaction to:

"work with some really shitty people too"

fawning language over Ember, making bold bets on it based on a hunch

firing a cofounder, admittedly a mistake

These were also probably the most valuable parts for me because they were challenging.

</comment></comment></comment><comment><USER4> _I 've always considered myself "on the Blue team" but the past year has really pissed me off. NSA, Healthcare.gov, drone strikes, and the President trying everything he can muster to go to war with Syria. I walked into our Business Developer's office one day and I said enough was enough. I could not in good conscience do work for the Democratic Party because of these issues._

I really doubt any of this would have been different if we'd had a Republican for President. Granted, healthcare.gov wouldn't have happened, but I doubt any of the other items would have looked any different. All US presidents have done things that I consider unethical or illegal. So to castigate one party vs. the other seems shortsighted.

Unless, of course, he has a huge contract offer from the GOP. Then it makes sense. In politics, money is the great decider.

<comment><USER5> I think you are missing the point, he did not say he went to the blue team. He said he doesn't want to work for the side that supports drone strikes, etc..., not that he has switched camps.

<comment><AUTHOR> Correct, I actually worked at the Democratic National Committee in Washington, DC for a year as a software dev. He may be right that a Republican President would have made similar decisions but that is not what happened. This was a personal choice as I have become disillusioned with the party. Also, this has pushed me further to the left, not to the right.

<comment><USER4> _Also, this has pushed me further to the left, not to the right._

So...who will you work for then?

<comment><USER6> Just a wild guess... but someone other than a political party.

</comment></comment></comment></comment></comment><comment><USER7> > Can they afford us? If you think it is callous to put this as the first > thing we look for, then you are probably not someone we want to work with.

I wish you elaborated on this (I think it'd be worthy of its own article). How do you do this? Most articles I read on this topic seem discuss their fee with clients like a diplomat, a politician or a strategist or something. I've read in more than one article you're supposed to sell your price as "an investment, not a fee". But your article implies you cut right to the chase.

<comment><AUTHOR> I could but I'll try to answer this as best I can here to avoid writing a long post again. (my fingers hurt!)

We do cut to the chase. Some people have seen this as aggressive. If we get the sense that this will turn them off and they seem like a company we want to work with we'll push off that conversation. But most times I am up front and tell them our rate ($6k/week/dev) and I tell them we are looking for contracts with a budget over $50k. I don't have all of the time in the world and I know the client is likely meeting with other agencies. If we are not a financial fit for them then it is better they know that earlier than later.

<comment><USER8> Anywhere up and down the services chain (from solo freelancer to large consultancy) should do this.

There's a cost to vetting potential clients and service providers in the form of time. The sooner you can tell whether everyone is on the same page with regards to financial expectations, the better.

I learned my lesson a long time ago when traveling for several hours to meet with a client looking for what amounted to $150k worth of work, and eventually telling me/us that they only had $5k.

</comment></comment></comment><comment><USER9> "The number one thing I would do different is not agree to a partnership until 6 months out...I would have held off on awarding partnerships until everyone settled into their roles"

I'm curious what being a 'partner' in a design/tech consultancy amounts to. Profit-sharing?

<comment><AUTHOR> Correct.

</comment></comment><comment><USER10> On one hand: it's cool to read something so "unfiltered".

On the other, If I was a potential client of Dockyard's and saw this, I would run for the hills. This is not the kind of stuff that belongs on a company blog. Or any blog, for that matter.

<comment><AUTHOR> That's fair, but then again perhaps this is a good filter for those types of clients we want to work with.

<comment><USER11> That's a lot of guts. I respect you for keeping in that direction.

It's hard for a consulting company to be selective on the clients (especially during tough time).

<comment><AUTHOR> To be honest, its probably hurt us as much as its helped us. There have been times that I have made bad business decisions because I didn't think the client was a good fit for us. Even at 2 years our sample size is probably not big enough to say if this is a sustainable direction. It would be great if it were, but I suspect at some point if we want real growth I'll have to get beyond this way of thinking

<comment><USER12> Yes, its quite the double-edged sword. I used to run my own one-man consultancy shop and picking the right clients was tough. It cost me thousands of dollars in 2013 alone. That's why I decided to move on and work as a full- time programmer. The business side of the consultancy was making life harder than it needed to be. I could have hired people to help me grow it. But it would have forced me to step away from the code and into management. Something I really do not want to do. Currently Im working as a full-time programmer for a growing company and its been great.

Good luck with your company. :)

</comment></comment></comment></comment></comment><comment><USER11> So far people have been saying that consultant should focus on solving business problems and not the technology aspect of the work so I'm quite surprised that DockYard made a bet on EmberJS (and Rails before that).

Can anyone explain why people would hire a shop with specific but general tech like EmberJS or Rails? (Rails make more sense a bit since it encompass the whole web-app but EmberJS is just for front-end). I can understand if the company specialized in Enterprise software like SAP, Oracle, SharePoint but less on Rails/Django/front-end-framework.

<comment><AUTHOR> We can say that we offer true expertise if we specialize. I don't think that small shops should be tech agnostic, they should pick a tech area and really try to kick ass in it. After a certain amount of growth there begin to be a lot of opportunities outside of your tech niche that might get you to start thinking about adopting other competencies. For example, we have been getting a few contracts for iPhone development. This might be something we decide to add.

</comment></comment><comment><USER13> Huge props to Brian for writing this. This is as candid and unfiltered a look into the tribulations of a small consultancy as I've ever seen: particularly with regards to firing and open source.

</comment><comment><USER14> > Is this an application we want to work on?

That's a big factor to me. It breaks down into: Is it interesting work? Is it going to be challenging without being impossible or overwhelming? Is it something I can say I was proud to be a part of? And am I even the right person to work on this or would someone else be able to do a much better job? Does it use technologies I really like, or ones that I am not too fond of?

</comment><comment><USER7> Out of curiosity, did you start as a company? I always thought the way you're "supposed to start" as a software consultancy is like this:

1\. Work part time as a freelancer.

2\. Get enough work that you can quit your job.

3\. Get so much work that you can't meet deadlines without hiring an employee.

4\. Repeat step 3.

Is this what you did? Regardless, is this a bad plan?

<comment><AUTHOR> I went cold turkey with the freelancing. I got a job big enough to pull others into, we worked well together, we formed a company.

</comment></comment><comment><USER15> Enjoyed this a great deal. It's interesting to get insight into a different part of the industry (for me) and I'm struck by how high costs must be in consultancy if even at $1.5m revenue, a founder can only pay themselves 50% of their set salary? (Assuming said salary isn't unrealistic.) (Update: Profit margin specified as 20% in another comment below.)

<comment><AUTHOR> Payroll, like most companies, is a huge chunk of our revenue. The thing with consulting that is different than product companies is that we are profitable from day one. But our long term profit potential is flat unless we raise our rates or pay people less. We need to pay well to retain talent as consulting companies are always ripe for poaching.

I've also made some dumb financial moves and we've had lulls in our pipeline. We think (hope) that we've corrected these. So we'll see how the next year pans out.

<comment><USER3> as you grow, managing utilization and bench time will be key to being profitable. each project has a built in "fiscal cliff" at the end of it, and having a good pulse on when to hit the gas on biz dev and when to ease off is really important in protecting profitability.

</comment></comment></comment><comment><USER16> > Recently we have been able to build enough of a name for ourselves in the > development community where we have started to attract some good senior > development talent.

I really like this. Not branding, not marketing - but building a name. Building something of value and being an active member of/giving back to the community.

</comment><comment><USER5> What makes a bad client, and why did they cost so much? I can understand a bad client who constantly harangues you, asking for tiny changes, tying up support lines, but that shouldn't cost so much?

<comment><AUTHOR> For us it always comes down to personality issues. We have had a client that was a good person but ran into financial issues, a good person will eventually settle their debt as this person did.

A bad client is someone who thinks they own you because they're paying. This is not true and I am very protective of my employees.

</comment></comment><comment><USER17> So what is so great about ember? I hadn't really heard much about it before?

And also what's so bad about angular?

(I'm ready to meet my JavaScript framework)

</comment><comment><USER18> A very honest read from Brian. I know him personally and I can attest that he writes like he speaks, very honest and transparent. Keep up the good work at Dockyard!

</comment><comment><USER19> Curious what the revenue vs expense looked like in years #1 and #2. How many employees generated that $750k and then $1.5M revenue?

<comment><AUTHOR> Good question. We've maintained around a 20% profit margin. I'll add that to the article as it is important.

</comment></comment><comment><USER20> Great war stories from the trenches, and some useful snippets in there for someone building a company too. Thanks Brian!

</comment><comment><USER21> How did you pick your law firm. In what ways Daily/Weekly/monthly are you using them?

<comment><AUTHOR> I actually emailed Chad Pytel at thoughtbot and asked him who they use.

</comment></comment><comment><USER22> good read...anyone thinking of running a consultancy should read this.</comment>


"Startup Ideas We'd Like to Fund" and the ensuing pandemonium - <AUTHOR>

PG,
When does an entrepreneur stop being and entrepreneur and become an employee? A passive, unassuming employee willfully blinded by the facade of calling oneself an entrepreneur.
After reading your post "Startup Ideas We'd Like to Fund" along with 200-some comments, everything just seems watered down. It seems all too "Model T". Its as if people are willing to build these products just to build products. Wheres the passion?
Myself and fellow CS buddies have been seriously evaluating the option of applying to ycombinator with something we've have been working on. But something just doesn't feel right.
I would also argue that with ~$25,000, its not the ideas your funding Paul, its really the people.
Does anyone else feel the way i do, or is it just me ...
TC. <comment><USER2> I can't tell what you're asking. Are you saying that anyone who works on some type of idea an investor says they're interested in is now just an employee? Because practically all investors have ideas they wish people would propose to them, and a lot have written about them.

</comment><comment><USER3> It is very hard to grasp what did you mean. But if you are questioning passions for ideas and entrepreneurship, then my feeling is different from yours.

When I first read the post on YC by PG, I understand PG tried to tell people this is not an inclusive list. All ideas put down by PG have a common pattern. It is PG's motto: "making something that people want". And PG also alerted the would-be applicants that not every problem is solvable only by purely engineering or computer science. Some problems require much clever hacks to acquire user bases and break out stereotypes in jaded users' mind. Of courses, some ideas that PG pointed out are traditionally viewed by startups as "suicidal" to get into territory of MS/Google.

I guess you feel frustrated because as a CS student, you probably think about the best things to save the world is to do something CS cool. But in reality, what a CS graduate can do to make people live better is probably to create an application that frustrate end user less than what users are using now. This seems so uncool. It takes more passion to care about my users to make them happy than to make myself happy. I can be happy for creating some cool hacks. But to make my users happier takes me more patience to know what they really want, more thought and effort to figure how can I create a better product. Though Model T is not a Ferrari, but I know my users are happily driving around to make their life better.

</comment><comment><USER4> i don't disagree with what you're saying, but its interesting that this article about what they want to fund totally shifted what you saw.

to put money down on what is essentially nothing more than an idea, you have to be investing in the people as just as much as you're investing in the idea. a good idea backed by a team of monkeys on keyboards will surely eventually produce and launch the startup, as per the infinite monkey theorem. what you're investing in is the people backing the idea, trusting that they're quality enough to do a good job to create a good company and product.

</comment><comment><USER5> nah, it's not just you. "CS" would be? Counter-Strike?

I havent read those comments, btw. Knew something like that would happen.

<comment><USER4> computer science?</comment></comment>


Show HN: Sorcia – Self-hosted web front end for Git repositories, written in Go - <AUTHOR> https://git.mysticmode.org/r/sorcia <comment><USER2> Glad to see new work in this space. Sorcia looks very clean, and well implemented.

I only noticed one issue, which is very much an edge case: when trying to view a file with third party JS disabled (i.e. the Cloudflare JS sourced script), the file is rendered quite poorly. Would be nice if the service degraded gracefully and used a simple pre tag or similar.

I must also admit that I am interested in a more "non-technical" git frontend -- one that puts the file tree up front and center, leaving details like remotes and commits in out of the way views.

If anyone is interested in other options, see also:

* [https://git.nemo157.com/grarr](https://git.nemo157.com/grarr) (Rust, the UI themes are a little tacky IMHO) * [https://github.com/emersion/matcha](https://github.com/emersion/matcha) (also in Go, but not very complete or performant...)

<comment><USER3> Wow, did not expect to see grarr mentioned on HN. I should mention that it's basically dead at this point, and IMO would need a full rewrite to resurrect (the web framework it's built on is unmaintained and has been superseded by much nicer ones, the templating it uses is based on a compiler plugin that only works with a few years old nightly compiler).

<comment><USER2> What a shame. I do like the interface quite a bit beyond the themes.

</comment></comment></comment><comment><AUTHOR> Hi, OP and author of the project here.

You could check the landing page of this project here: [https://sorcia.mysticmode.org/](https://sorcia.mysticmode.org/)

I've put up a FAQ and Features section with screenshots, so it is easy for you to look at it and see why I've built this software.

<comment><USER4> Hmm, name will raise a few eyebrows in Italy.

<comment><USER5> What does it refer to in Italy?

<comment><USER6> Its a "colloquial" way of referring to a prostitute (or person acting as such) in the area of Rome. Very often spelled as sorca, but sorcia is also understood to have the same meaning.

</comment></comment></comment></comment><comment><USER7> Front end for git in go. Surely you stumbled across GOGS? [https://gogs.io/](https://gogs.io/)

<comment><USER2> The FAQ explains how this differs from the like of gogs, gitea, phabricator, gitlab, and github.

It aims to provide a limited subset of the features they provide. More similar to cgit.

<comment><USER8> I mean, in fairness to the PP, they do _not_ mention gogs at all in the FAQ.

</comment></comment></comment><comment><USER9> Tangential: lastly I was searching for an easy to deploy, easy to use readonly html frontend for git repositories that could be reached via an URL subpath behind a reverse proxy, served from a container.

The use case is to let website owners see what their developers are changing in the source code that I'm hosting for those owners, and to embed this in the existing dashboard of mine where the owners can see what's happening on their servers. I would handle myself the part where the source code modifications are committed to the underlining git repositories, and a nice bonus would be that those repositories would act an additional backup strategy.

Unfortunately nothing came close to this simple wishlist, I was unable to get the likes of git-web or gitiles working under those constraints, I tried 4 or 5 at least.

I should have a look at Sorcia then!

</comment><comment><USER10> I would consider different name for "tree". It ain't obvious to me if it is tree graph for my git tree or tree of catalogue in source.

<comment><USER2> OTOH, it is consistent with cgit.

<comment><AUTHOR> Yes, my main inspiration is cgit. I mostly followed that and written in Go with some improved UI(which is what I was deliberately wanted to do).

</comment></comment></comment><comment><USER11> Very cool! Although I noticed (at least in Safari and iOS) the contributors page has 23px widths for the profile pictures.

Front-ends like these are really cool. They allow simple, self hosted solutions strictly for code that can then be mirrored to other, more complex solutions if desired. Or if you like working with very minimal tooling.

<comment><AUTHOR> Thank you! Just got to notify that there is no profile picture upload on Sorcia. It just comes from Gravatar through the commiters email.

Maybe I can tweak the design later to show the DP a little bit larger for the next rolling release.

</comment></comment><comment><USER12> This kind of simple design has grown on me after I tried sourcehut. I kind like it, it's light and snappy, no extra loading bar is needed.

My questions:

\- Can you make it a drop-and-play Docker image?

\- Why not host JavaScripts like `highlight.js` directly on the Sorcia server? That way LAN-only user will be able use this software as well.

<comment><AUTHOR> \- I need help on generating a docker image. Would be great if someone contributes to this.

\- Sure, I was thinking about that. Being this a self-hosted software, I should have used those vendor js libraries directly. But it was hyper fast when I used Cloudflare CDN that blinded my eyes. Anyways, I'll release a patch version today using the js libraries directly.

<comment><USER12> Hello, it's been a few days, I hope you can still receive this.

I cloned your project and made a Dockerfile for it. It works on my Arm32 based board so I guess it should work on other platforms as well.

The file is here, should be a good starting point if you want to further develop the Docker image, please test it:

        # This is an experimental Dockerfile for Sorcia Git front-end
        #
        # This image allows both easy deployment and use. The deployer
        # can operate the resulting container via Docker remote management
        # with command such as:
        #
        # `docker -H <docker_server> exec sorcia /home/git/sorcia/sorcia usermod`
        #
        # to manage the service rather than having to login onto the Docker
        # host.
        #
        # To build the image, use command
        #
        # `docker build --tag <final_image_name> .`
        #
        # Or, setup a hook on Docker cloud, let it do the hard job for you.
        #
        # To run the image, use command:
        #
        # `docker run \
        #    --detach \
        #    --restart always \
        #    --name sorcia \
        #    --publish 1937:1937 \  # You may have to change this port number
        #    --publish 2222:2222 \  # iptables maybe needed if you want port 22
        #    <final_image_name> web`
        #
        # To run usermod, when the container is running, run:
        #
        # `docker exec -it <container_name> /home/git/sorcia/sorcia usermod`
        #
        # Notice: This image does not contain Nginx, if you need it, put it in
        #         a separate container.
        #

        # Step 1: Initialize the build enviroment and build the application
        #
        #  Here we are using the golang:alpine which is the latest Go but
        #  is compiled for Alpine. This is necessary because we will later
        #  run the service on an Alpine base (musl based).
        #
        #  Step 1.0: Copy all source file into the container
        #  Step 1.1: Install Git to download go modules, and build-base to
        #            build the dependencies
        #  Step 1.2: Print the version of the bulitin Go
        #  Step 1.3: Goto /sorcia directory and start the building process
        #
        FROM golang:alpine as builder
        COPY . /sorcia
        RUN set -ex && \
            until apk add build-base git sqlite-dev; do sleep 1; done && \
            ([ -z "$HTTP_PROXY" ] || (git config --global http.proxy "$HTTP_PROXY")) && \
            ([ -z "$HTTPS_PROXY" ] || (git config --global https.proxy "$HTTPS_PROXY")) && \
            go version && \
            cd /sorcia && \
            until CGO_ENABLED=1 go build; do sleep 1; done

        # Step 2: Setup the image that will actually run the service
        #
        #   Step 2.0: Copy the generated binary along with source file into
        #             the container
        #   Step 2.1: Install the dependencies: Git and Sqlite
        #   Step 2.2: Create user and user group git and sorcia, we'll run the
        #             service application under user sorcia
        #   Step 2.3: Initialize the enviroment (Directory and other stuff)
        #
        FROM alpine:latest
        COPY --from=builder /sorcia /home/git/sorcia
        RUN set -ex && \
            ls -l /home/git/sorcia && \
            cp /home/git/sorcia/config/app.ini.sample /home/git/sorcia/config/app.ini && \
            sed -i -E "s/ssh_port.+\=.+/ssh_port = 2222/" /home/git/sorcia/config/app.ini && \
            echo && cat /home/git/sorcia/config/app.ini && echo && \
            until apk add --no-cache openssh git sqlite; do sleep 1; done && \
            addgroup -S sorcia && adduser -S -G sorcia sorcia && \
            mkdir -p /home/git/data && chown sorcia:sorcia /home/git/data && \
            chmod +x /home/git/sorcia/sorcia && \
            (cd /home/git/sorcia; rm error.log -f; ln -s /tmp/error.log error.log; ./sorcia version)
        WORKDIR /home/git/sorcia
        USER sorcia
        EXPOSE 1937 2222
        ENTRYPOINT [ "/home/git/sorcia/sorcia" ]
        CMD []

</comment></comment></comment><comment><USER13> Looks nice and clean. Minimalism. I like what I see in the screenshots.

<comment><USER14> screenshots?

<comment><USER15> Screenshots: [https://sorcia.mysticmode.org/features](https://sorcia.mysticmode.org/features)

</comment></comment></comment><comment><USER16> Constructive recommendations: \- add tests (I couldn't find a simple _test.go file) \- relative imports aren't recommended in Go (pkgs like "sorcia/model") \- please rethink/avoid global (package) variables like middlewareDB ([https://git.mysticmode.org/r/sorcia/tree/master/middleware/m...](https://git.mysticmode.org/r/sorcia/tree/master/middleware/middleware.go#L14)) \- avoid adding logic in the init() functions \- screenshots?

<comment><USER17> All of those seem fine aside from logic in init() functions. In particular, not sure how global variables in someone else's code impacts you.

</comment></comment><comment><USER18> Looks cool. Responsive layout, please. Painful to browse on iOS phone.</comment>


Get Your iPhone and Rails Apps Talkin' - <AUTHOR> http://ryandaigle.com/articles/2009/2/5/get-your-iphone-and-rails-apps-talkin <comment><USER2> I have recently had to scale out a Rails application into a real iPhone application.

Let me save you some time and headache. Stay as far away as you can from the majority of syntactic sugar and shortcuts. The Rails way does not scale.

With that being said, I love Rails and I will continue to use it for the rest of my projects. You just have to realize what parts will be bottlenecks for your (Active Record) and customize your own way to talk to the DB so that you can shard and implement memcached easily.

Now I have obviously not seen what these guys have to offer, I'm sure it is amazing. But you can already communicate with the iPhone with plain old Rails and it works amazingly well.

<comment><USER3> That's interesting, would you be willing to share some more of the technical details (any problems you ran into, rails/db side) and maybe some stats, requests per second, type?

Working on a rails-iphone app here and need to start stress testing it soon!

</comment></comment><comment><USER4> Neat stuff. I'm wrapping up writing a custom rails app that will talk to the iPhone, and because I don't have to support other platforms I've designed my XML to be optimized for parsing on the client side.

The simplest optimization is to have NOTHING in text between tags. If you want to associate values with a specific element, then add a set of attributes to the element instead. Much simpler to do a bunch of if/else statements inside parser:didStartElement than to keep track of text, last element name, and all sorts of potential depth issues.

</comment><comment><USER5> Wow this is pretty awesome, our small team has been focused on the base app and utility but we're definitely now looking around for tools like to take our apps to the next level.

I think the next 6 months will be interesting for the AppStore as the junk apps are shaken out (economic pressure and through changes in the store's functionality), and developer tools begin to mature.</comment>