The Raspberry Pi Has Revolutionized Emulation - <AUTHOR> https://blog.codinghorror.com/the-raspberry-pi-has-revolutionized-emulation/ <comment><USER2> I've had an arcade cabinet with a 9-year old computer in it that finally failed the other day. I tried the Rasberry Pi route awhile ago, it does fine on the oldest 80's MAME games, but has issues with most of the 90's era games of which I'm still quite fond. And as others have noted, it's prolly going to suck for NES/SNES emulation.

So when the arcade computer failed, I tried a different route. I realized my main desktop computer (a Core i7-4790k) is plenty powerful to do some arcade gaming on the side. A long VGA/USB/audio cable later, and my arcade is now running directly off a VM from my desktop. This works so much better than dealing with moving games on/off a SD card, and managing more physical things. It's easy to manage the VM, snapshot it, and change the config without even touching the arcade now.

With VT-d, PCI-passthrough, and the ridiculous amount of CPU cores everything comes with that this should be a more normal thing in the future. It'd be lovely to use those new multi-Gbit wireless standards instead of a cable though...

<comment><USER3> Consider a Steam Link, [http://store.steampowered.com/app/353380/](http://store.steampowered.com/app/353380/) or similar system to mirror the content from your PC. It will handle sending video/audio to your TV/arcade and sending the inputs back the desktop.

<comment><USER4> How much latency does one of these add? It might be fine on a modern cinematic console shooter, but a large amount of the appeal of some old arcade games is their frame-perfect timing. I can't imagine that's helped by adding a round trip over the network, not to mention streaming the video back. That's gotta add 2-3 frames' latency at the very least.

<comment><USER5> The default settings have some noticeable latency (5-10ms), but changing the video encoding from "balanced" to "fast" drop it down to almost nothing. You can additionally plug the controller(s) into your PC to further remove any input delay. I can't vouch for emulated arcade games, but it works surprisingly well with a steam collection.

<comment><USER6> Axiom Verge was unplayable on any settings I tried.

</comment></comment></comment></comment></comment><comment><USER7> "Viewing angle and speed of refresh are rather critical for arcade machines, and both are largely solved problems for LCDs at this point"

This is true, but not for the cheap IPS LCDs he advocates. The important point is image persistence. Each frame is a sample of a single point in time. To accurately represent motion it needs to be shown for as close to a single point in time as possible. Most LCDs sample-and-hold, i.e. they set the pixel and keep it there until the next frame. This results in blurring when your eye tries to follow motion. See:

[http://www.blurbusters.com/faq/references/](http://www.blurbusters.com/faq/references/)

Modern gaming LCDs can strobe the image like a CRT, eliminating this blur. It causes noticeable flicker at 60Hz, but it's the only way to get sharp looking motion from these fixed framerate games (motion interpolation adds latency which is no good for games).

<comment><USER8> I wish someone would ressurect crt or come up with similarly cheap tech.

I own lots of monitors, but after I tried my CRTs again recently, I fell in love with them again, the image itself, and the motion is much better than any flat panel that is affordable. (Also my CRTs aren't high end even! they were medium range, or outright cheap when I bought them new, one is even 1024x768, that now feels too small, but the image quality overall is soooo awesome...)

<comment><USER9> SED(Surface Conduction Electron Emitter Display) was what I was most excited for, and it died before it got started. It's basically a matrix of tiny CRT monitors.

[https://en.wikipedia.org/wiki/Surface-conduction_electron- em...](https://en.wikipedia.org/wiki/Surface-conduction_electron- emitter_display)

<comment><USER7> SED doesn't have the high quality motion of a CRT or a strobed LCD because it's PWMed. You will either see ghost images trailing motion, or sample-and- hold blur, depending on the PWM frequency.

</comment></comment></comment></comment><comment><USER10> I've long thought it would be interesting to make an education-oriented Game Boy Advance clone to teach low-level programming. I.e: Base it on the expired patent, but don't copy the copyrighted BIOS and don't bother being compatible with commercial game ROMs.

The conflict is that it sure looks like sourcing everything but the SoC (case, screen, controls, battery?) will cost more than a RasPi-like SoC capable of emulating a GBA. At that point the question becomes, What's more valuable inspiration-wise: Telling the kids "Your game is really running on the same physical hardware as a GBA" or telling them "in addition to GBA, this device can emulate a bunch of other devices and there's the whole RasPi ecosystem as well" ?

Disclaimer: I know nothing at all about sourcing hardware.

<comment><USER11> I think that pocket CHIP would fit most of your requirements: [https://www.nextthing.co/pages/pocketchip](https://www.nextthing.co/pages/pocketchip)

<comment><USER7> It's not the same because the CPU is much faster than it needs to be for such primitive sound and graphics. A major appeal of fixed hardware is coding close to the metal to get the maximum performance out of it. The PocketCHIP is supposed to be programmed in Lua, which you could do anywhere. With the GBA you're probably going to learn assembly, and because it's ARM the skills will be useful for many other things.

<comment><USER12> There is the Arduboy¹, which is definitely a lot more primitive.

――――――

¹ — [https://www.arduboy.com/store/products/arduboy](https://www.arduboy.com/store/products/arduboy)

<comment><USER10> Arduboy sure is cute. But, there tiny then there's really tiny! 2.5k of RAM in the Arduboy is even smaller than I had in mind. I guess I'm thinking of something between that and this [http://www.mouser.com/new/embedded- solutions/display-modules...](http://www.mouser.com/new/embedded- solutions/display-modules/4d-systems-picadillo-35T/n-6m71gZ2cn2ie)

</comment></comment></comment></comment></comment><comment><USER13> > For a budget of $100 to $300 – maybe $500 if you want to get extra fancy – > you can have a pretty great classic arcade and classic console emulation > experience.

...if you are OK with pirating games. Its a bit odd that for the number of times this article talks about how cheap and easy it is to get this setup going, they kind of handwave away the fact that even old games are still copyrighted with "Add additional ROMs and game images to taste."

<comment><USER14> With no legal way to purchase most of the games on these systems -- and certainly not in a way that the original creators would benefit -- most people would be O.K. with pirating games.

<comment><USER15> A lot of these older classics that you'd probably want to emulate are actually available in some form or other. For PS1/2 games, you can often purchase inexpensive digital copies on the Playstation Store, and for older Nintendo titles they offer digital copies through their Virtual Console service.

Additionally, just because a title isn't easily available for purchase, or available through your desired channels, that doesn't magically invalidate copyright.

<comment><USER14> >A lot of these older classics that you'd probably want to emulate are actually available in some form or other.

And emulation is the _reason_ those titles are available. Those titles are being emulated on other systems. Without the games having been pirated to begin with, the people sitting on the IP would have left them to rot. Piracy is a demonstration of demand. Do you think the iTunes Music Store would have come about without Napster?

>Additionally, just because a title isn't easily available for purchase, or available through your desired channels, that doesn't magically invalidate copyright.

"Information wants to be free." It doesn't invalidate the copyright, but it certainly lowers the 'perceived harm' in the mind of the end-user.

And the copyright holders, thankfully, don't seem to be very attentive. Coolroms and EmuParadise are still around, I was grabbing ROMs from there over 10 years ago.

<comment><USER15> I definitely agree that console emulation is a Good Thing from the standpoint of preserving the history of the medium. Hell, I've been working on my own Game Boy emulator in my spare time out of a mixture of technical curiosity and preservationism.

I also agree that a large, driving force behind the development of these emulators is the wider public's desire to easily play old games for free.

That said, it doesn't mean I condone the illegal redistribution of old games to play on these emulators. The fact that it's easy and largely overlooked by rights holders doesn't change the ethical equation for me.

<comment><USER16> > The fact that it's easy and largely overlooked by rights holders doesn't > change the ethical equation for me

Which is fine, but ethics are essentially a personal thing. For example, I've pirated things I own on non digital medium. Or heck, even things I own on DvD because frankly double clicking 5 times is way more convenient than digging out the disc and sitting through unskippable shitty intro warnings etc.

In neither of those cases am I within the law, but I'm ethically comfortable with it. Similarly, I wouldn't feel bad using an emulator despite them necessitating the pirating of games.

<comment><USER17> AFAIK you can make copies of your owned disks or rip them, legally, as long as you don't distribute. So ripping a cd to listen to it is fine. Now instead of ripping it, youngot yourself a copy online. You have already paid for the material. (As long as you don't sell your physical media, that is).

At least, that is how it is in the Netherlands.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> I've attempted to do this. It's not as simple as Jeff Atwood states.

For starters, there is a lot more tinkering and messing around than is indicated in the article. You want to connect an old PS3 controller that's sitting around? Great...prepare to spend 3-4 days messing around with config file via SSH to get it just right. And even then, it fails intermittently and works in some games, but not others.

Secondly, while some N64 games do emulate reasonably nicely, _most_ do not. There are either audio issues, or video issues. And on and on. PSX and Dreamcast games - I couldn't get those to work without lag at all.

<comment><USER15> Have you checked out RetroPie, the distribution mentioned in the article? In my experience, using a PS3 controller with that consisted of connecting the controller via a USB cable, selecting 'configure controller' from the main menu, and mapping all the buttons. All in all that took maybe a minute or two.

<comment><USER19> I've tried using RetroPie with the PS3 controller over bluetooth and it works.....50% of the time. The problem is that when it doesn't, there's literally nothing you can do, you have to log in through ssh and restart the Pi, and it's _incredibly_ frustrating.

</comment></comment></comment><comment><USER20> If you're interested in emulation, The Internet Archive also has something cool: [https://archive.org/details/internetarcade](https://archive.org/details/internetarcade)

</comment><comment><USER21> I used a pi2 and an LCD I got off Craig's list to build an old Mac emulator with Basillisk II and a lot of patience (took a while to get the right combo of compile options, settings and display environment). It's relatively stable and my 4 year old daughter has been playing kid pix, cosmic osmo and hello kitty on it for a while now. It's also fun to see the after dark screen savers when I go into her room.

</comment><comment><USER22> Here's a possibly silly question. Is upscaling old games possible? In the past I have seen papers on upscaling algorithms that do amazing things to old pixel art and 8 bit sprites. Is it possible to run these in real time on something like a pi?

I ask because the suggestion of using 1080p resolution or higher for this sounded silly. But then I realized maybe it's not.

<comment><USER23> The various hqxx algorithms are still there, personally I don't like the look of them, but what's advanced a lot in recent times is TV emulation. A programmer called blargg has released several NTSC filters which really make games look how they did when you first played them, how they were intended to. They've been integrated into many emulators.

Have a look at the screenshots, to me they look way more attractive than traditional hq-style upscaling filters.

[http://slack.net/~ant/libs/ntsc.html](http://slack.net/~ant/libs/ntsc.html)

<comment><USER24> On the other hand, for anyone who grew up in a PAL region, these screenshots look appalling. They look nothing at all like my SNES (which I still keep connected to an old CRT TV.)

</comment></comment></comment><comment><USER25> One thing that's missing from a lot of arcade cab builds is that old games often don't run at a 60Hz refresh rate, and so you get a strange jittery effect as it has to skip or duplicate frames to display at 60Hz on normal LCD monitors.

FreeSync/G-Sync makes a tremendous difference, but unfortunately does this to the price as well :(

Edit: Or you can use a CRT :)

</comment><comment><USER26> This is very neat. I want to have one, but don't want to have to assemble it. Any ideas about where I can buy one already assembled? (I wouldn't mind, say, paying a 20% surcharge over the prices mentioned in the article).

<comment><USER27> [http://shop.xgaming.com/](http://shop.xgaming.com/)

It's a joystick or a joystick+cabinet you plug a computer into, you could plug a pi into it no problem. Or a more powerful computer. They sell one that has no display, and you push it up in front of the TV when you want to play and stash it away when you don't.

The joysticks are cheap but the cabinets arent. Plugs right into USB though, easy.

</comment></comment><comment><USER28> While I think its true that the rPi has been good for arcade emulation as a social phenomenon - i.e. the market has expanded drastically - I think its disingenuous to think of the rPi as the main driver behind emulation becoming mainstream. Devices such as the GP2X, Caanoo, GPH Wiz and Open Pandora gaming consoles have contributed immensely to the subject of game emulation, and these systems have been around far longer than the rPi - which did indeed benefit from all the work done to make emulation work on these machines previously (they use a similar class of device) ..

I know for sure that dynamic recompilation, which is key to the way emulators gain the performance needed to run on these small machines, was well and truly happening in the scene before the rPi came along.

In my opinion, the rPi just delivered the last 5% of the missing equation: cheap, broad availability.

</comment><comment><USER29> Great article, but the tips about putting the Pi in a case and using heatsinks seem at odds with each other - especially if the Pi is going to be safely tucked away from danger inside some form of arcade cabinet. I just used self- adhesive PCB risers with mine and stuck it to the inside of the cab.

<comment><USER30> Now that I have had more time to mess with my Pis, you have a point. It's a solid 3 watts under load, when overclocking a bit more. I recommend a 20x20x15mm heatsink, and probably open air (I removed the top half of the case) too.

The little heat sinks the cases bundle are better than nothing, for sure, but get uncomfortable to touch under extended load. A bit more here

[https://discourse.codinghorror.com/t/the-raspberry-pi-has- re...](https://discourse.codinghorror.com/t/the-raspberry-pi-has- revolutionized-emulation/4462/31)

</comment></comment><comment><USER31> I love my Raspberry Pi.

A few months ago, I started a project to convert my dad's barely used iCade cabinet [1] into a full-fledged RetroPie cabinet.

I used a GPIO-to-USB converter (which allowed me to easily interact with the buttons and joystick on my Raspberry Pi), a speaker with a 3.5mm line-out, and a 7-inch screen I got off of Amazon.

Here's a video of it in action: [https://youtu.be/EiNI2vXAomg](https://youtu.be/EiNI2vXAomg)

[1] [http://www.ionaudio.com/products/details/icade](http://www.ionaudio.com/products/details/icade)

</comment><comment><USER32> I guess it depends on what you consider good enough. I use my gaming PC to emulate and because it lets me use more accurate emulators and allows me to configure them to my liking. Output the video to a CRT video monitor and it's a fantastic authentic experience with liberties I could only dream of as a child. Heck, I don't even get the frame drops that are present on original hardware.

<comment><USER33> _Heck, I don 't even get the frame drops that are present on original hardware._

I hate that. It makes everything look too smooth and artificial. Frame drops are essential to the retro gaming experience. Try comparing the original release of _Shadow of the Colossus_ with its HD remake. It just isn't the same without the frame drops, rendering jank, and texture and geometry pop-in.

The same goes for any modern "8 bit" "retro game" that doesn't start flickering or dropping sprites when the sprites-per-scanline limit is exceeded.

</comment></comment><comment><USER34> Does any RPi emulator do the nice slightly convex CRT emulation with scanlines, colour bleeding etc?

For me this is a big part of it. The game art is designed for these effects, and it kind of breaks the illusion if this isn't right (in a similar way to low FPS or delayed sound).

<comment><USER30> Yes, see [https://www.youtube.com/watch?v=SCqQ7ciCHcI](https://www.youtube.com/watch?v=SCqQ7ciCHcI) for a demo! Check out the actual video simulation for the games. The bezels are nice too :)

<comment><USER34> Awesome!!

</comment></comment></comment><comment><USER35> This advice on displays made me laugh:

> Absolutely go as big as you can in the allowed form factor, though the Pi > won't effectively use much more than a 1080p display maximum.

See, I just used a RetroPi to test a new tv, and the games I reached for were very low res and extremely pixelated.

<comment><USER36> While the old emulated games have low resolution, there is support for various postprocessing options. There are many shaders that can be used to improve the experience and these are run at a higher resolution.

The raspberry pis aren't fast enough for running the more advanced shaders in 1080@60Hz, but many simpler ones work well.

<comment><USER37> What about the new Pi 3B? I know the 2B isn't fast enough for 1080@60, but is the 3B any better?

<comment><USER38> 3B has pretty much the same GPU (it might be upclocked), so shaders won't work much better.

ARM really improved memory bandwidth from the A7 to A53 uncore bits, which probably helps as much as the CPU speed bumps... at the cost of it running quite a bit hotter.

I read an Anandtech article where they compared Samsung arm32 to arm64 chips, and the benchmark differences were actually quite similar to Pi2->3.

</comment></comment></comment></comment><comment><USER39> I wonder what affiliate links Jeff Atwood is shilling this time.

</comment><comment><USER40> Rasberry Pi are slow as hell and don't emulate recent consoles.

"Why Perfect Hardware SNES Emulation Requires a 3GHz CPU" [http://www.tested.com/tech/gaming/2712-why-perfect- hardware-...](http://www.tested.com/tech/gaming/2712-why-perfect-hardware- snes-emulation-requires-a-3ghz-cpu/)

<comment><USER41> They do a real good job on anything in the 16-bit generation (SNES, Genesis), and handhelds up to the DS, at least in my experience.

I'm not playing anything twitchier than ChronoTrigger, though. I use my Pi to play RPGs, primarily, although I've haven't seen any problems playing Genesis fighting games like Mortal Kombat or Street Fighter.

<comment><USER42> That pretty much covers most retro games I'd be interested in, tbh. For me, what needs improvement is controller detection and (re)configuration.

<comment><USER43> Use Lakka instead of Retropie. 360 and PS3 controllers work great (plugged in—Bluetooth remains, as in most applications other than actual game consoles, a flaky PITA from what I've seen). I find the 360's dpad and face buttons unacceptable for retro games, but some people are OK with it. PS3 controller's pretty good. You shouldn't ever have a reason to mess with the mappings for either of those under Lakka unless you disagree with the defaults (unlikely, except maybe in MAME or something). Bonus for the PS3 controller is that the Playstation button works to kick you back to Lakka's menu, while IIRC the 360's system button doesn't (not accessible as an ordinary input), so it saves you having to use a button combo for that.

Lakka boots into Retroarch, which provides a unified I/O API to the "cores" (emulators) compiled against it. Even if you do manually map, you should only have to do it once.

<comment><USER42> I bought 4 madcatz fight pads a few years ago for the purpose of retro gaming (360 usb interface), single dpad with 2x3 buttons on top, and two shoulder buttons... great layout for retro gaming. Since genesis and snes layout is a subset in both cases. I tried a couple of the retropad (sega saturn layout), but they were really cheaply built and didn't work or last long.

Spent a few hours last night playing with retroarch on windows, though will have to change to config per core, so that the layout is correct in the different cores.</comment></comment></comment></comment></comment>


Intel unveils Knights Corner 50 core server chip - <AUTHOR> http://www.geek.com/articles/chips/intel-unveils-knights-corner-50-core-server-chip-2010061/

<comment><USER2> This "article" is garbage and is full of errors; if you're interested in this topic read the slides instead. [http://download.intel.com/pressroom/archive/reference/ISC_20...](http://download.intel.com/pressroom/archive/reference/ISC_2010_Skaugen_keynote.pdf)

</comment><comment><USER3> New technologies often get started in a niche. Because server rooms already have multiple computers, and standard infrastructure for handling them, it is a natural fit for many-core chips (though bandwidth to RAM/disk may be a problem).

Once established in this market, the feedback loop with users who pay money will drive the technology to improve to suit that niche. The bugs will get ironed out, deficiencies worked around, specific infrastructure developed. Chips will use less power, and will get faster and cheaper.

Eventually, other uses will be found for the product - perhaps on the desktop, perhaps as mobile devices, perhaps in applications that were never imagined before, because they were not conceivable. The key benefit might be from a feature that is not considered very central to the technology, from an engineering perspective, but happens to be unique with respect to the alternatives.

Perhaps it could be compact size, low power consumption, doing many distinct tasks, greater reliability through redundancy.

</comment><comment><USER4> I wonder how many servers are currently CPU-bound? I've always been I/O bound (interchange that with memory-bound, depending on how much you would like to spend on memory).

<comment><USER2> Many _HPC_ servers are CPU-bound.

<comment><USER5> True, but commercially speaking they're the minority.

</comment></comment></comment><comment><USER6> I would love to see this on a desktop. Why? Because that would generate a powerful incentive to parallelize desktop software. Number of cores will do nothing but increase for the foreseeable future and per-thread performance will not go up much.

Even if they release an 8-core part at desktop processor prices, that would be great.

OTOH, if parallelizing of desktop software improves much, there will less reason to go x86 when compared to multi-core ARM-based designs.

<comment><USER7> A lot of desktop applications aren't well suited for multi-core use. They have been written for a long time as single-threaded applications and making them multi-threaded is a huge task for a small gain. Some applications get worse when first made to use multiple cores and it takes a lot of tweaking and rewriting to get performance back to where it was.

2-8 cores on the desktop hasn't made a huge dent. 50-cores is a bit extreme. It's going to thrive in the server market where one system is typically servicing many requests from many users. Desktops are generally designed to only service one user.

<comment><USER6> Is it really that small a gain? I am now with 6 open tabs in Firefox, one terminal with four tabs, a music player decoding an internet radio stream, an E-mail client and Emacs with two windows open and a Python process running in it. There is also a desktop CouchDB running somewhere (and that's a highly parallelizable animal) that deals with lots of the data my system generates.

If for nothing else, having more cores would prevent context switches on the two cores I have.

Sadly, it's no surprise much software isn't designed for multiprocessors. Prior to Windows XP taking over Windows 9x as the dominant OS for desktops, it would make no sense to develop a mainstream x86 designed for multi-threading apps - just consider the failure of the Pentium Pro (designed to run 32 bit apps in a 16-bit era). Processors and programs have been optimized for so long to cope with mono-threading OSs that it will take a while to get rid of this legacy and to step into this parallel future. There is a good reason why most desktop software is not a good fit with parallel processors - until recently there were few desktop 4+ thread machines.

This is what I mean when I say Microsoft held back the PC's evolution for a decade. I used 64-bit processors (Alpha) and multi-processor desktop machines (MIPS, PPC and SPARC) years before similarly equipped PCs appeared in the market.

<comment><USER8> | I am now with 6 open tabs in Firefox, one terminal with four tabs, a music player decoding an internet radio stream, an E-mail client and Emacs with two windows open and a Python process running in it.

Only two of those 'normal' activities consume cycles. Your CouchDB may be parallel, but that's not a typical desktop job.

The truths are a) most desktop use is over-covered by current, single or dual CPUs b) you can't convert all sequential apps to parallel, as earnestly as Intel and AMD might wish for it.

That is, until there are radical agents acting on your behalf, sussing out interesting things on the internet for you and whatever, but those would probably run in a cloud somewhere anyway. Of course this will be proved wrong in time but, I don't think that current desktop apps, /just written for parallel/, will ever use 50 cores.

</comment></comment></comment></comment><comment><USER9> 50 cores! I thought Sun's Niagara chip was crazy... With Intel pushing even more cores now Concurrent programming paradigms are going to continue to grow in importance.

<comment><USER6> Sadly, I doubt Sunoracle will be able to top that with a 16-core Niagara III running 16 threads per core. In the meantime, Niagara II is shipping and this Intel piece is vaporware.

I would also like to remind the more overly enthusiastic (me included) that this family seems heavily targeted towards scientific (read FP-heavy) computing and I would expect more x86-controlled/GPU-based solutions in that space in the future. Niagara is more of a general-purpose animal targeted towards web and database workloads.

</comment></comment><comment><USER10> I guess, in a few years I'll be working in HPC after all! At my home!

</comment><comment><USER11>
      Each core in Knights Corner runs at 1.2GHz, is supported by
      512-bit vector processing units, has 8MB of cache, and four
      threads per core.

That's 200 simultaneous threads. Wow. That's almost like a GPU.

<comment><USER12> That's because it _is_ a GPU. It's Larrabee. Intel couldn't get enough graphics performance out of it to compete with GeForce and Radeon in the graphics card market. However, they can still compete in the GPGPU market, where the specialized graphics hardware that GeForce and Radeon have is less of an advantage, and Larrabee's x86 compatibility is actually useful. Intel is afraid that GPGPU is going to encroach on their CPU turf, and this is their answer.</comment></comment>


Ask HN: How to keep a tight tech team in a consultancy? - <AUTHOR>

Every article that I read about managing a development team is geared towards a single company developing a product, where all developers are working toward the same goal of delivering said product in the best way possible. There is some really great information out there, but I can't seem to find anything that's geared more toward consultancy-based organizations. Here are some big differences that I see:
* We are working on projects, not a product. A lot of what we do doesn't come down to what the end-user wants, it comes down to what the client wants (and sometimes those wants are really, really strange).
* Our projects can be wildly different from one another (though we stick with a standard stack as much as we can).
* The entire team isn't working on the same project at the same time. We currently have 6 developers, at any point we might have 1-3 on the same project. That means that we can have 2-4 unrelated projects going on at one time.
* Our timelines and budgets are relatively fixed, and need to be provided prior to development and adhered to.
Different projects have different requirements and allow for different levels of flexibility. Some projects it might make sense to go with TDD and weekly sprints. Other projects might have an extremely short shelf life and just need to get out the door, so spending time on code coverage and refactoring may not be something that makes a great deal of sense. We have our own values and processes that we use for every project of ours, but the constant changes in our client's needs make it difficult to form a solid repeatable methodology.
Can anybody recommend some reading material that's more focused on project-based work rather than product-based? Any personal advice about managing a team where members are often working on different projects from one another? Thanks. <comment><USER2> Man, I have so much to say about this but it's not the right time and the right place.

One quick reflection: unless it's a very very short project (say less than 2 weeks) no one knows the exact content of the project - not you and not the client. It ALWAYS changes. Take that into account when determining price, and/or when a change comes in, know how to flag it to your customer right away and charge for it. Otherwise you end up doing tons of very small changes (each one seems like would be unfair to charge the customer extra for) that accumulate and you end up paying a lot more to your employees and lose money.

</comment><comment><USER3> Maybe you could find something in Joel Spolsky's earlier blog posts [http://joelonsoftware.com](http://joelonsoftware.com) ? Today, FogCreek focuses on their products, but in the early days they set out to build a developer-centric consultancy.

<comment><AUTHOR> Great suggestion. I've read his classic posts, but I haven't gone beyond those. I'll take a deeper look. Thanks.

</comment></comment><comment><USER4> Shit clients say:

\- "This project/change is easy"

\- "This project/change won't take very long"

\- "I know this isn't the rate you wanted, but we're totally gonna give you more work at the rate you did want later on"

<comment><AUTHOR> But honestly, I have none of these problems. If one of our clients tell us any of the above, we explain to them why that's not the case, and if they continue to press us, we show them the door.

We solved that problem early on - now we're just trying to figure out the best way build cohesive dev team when we can't apply standards across the board for all of our projects.</comment></comment>


Show HN: Startups by City - <AUTHOR> http://schreifels.github.io/startups-by-city/san-francisco-ca-usa.html

<comment><USER2> You don't need to load all 5,000 San Francisco startups on load. Pagination may be helpful.

<comment><AUTHOR> Agreed, yep, just haven't had time to implement that yet!</comment></comment>


Google Fuchsia OS Git Repository - <AUTHOR> https://fuchsia.googlesource.com/ <comment><USER2> Are they accepting pull requests?</comment>


Would a Long Journey Through the Universe Bring Us Back to Our Starting Point? - <AUTHOR> https://www.forbes.com/sites/startswithabang/2020/05/19/would-a-long-journey-through-the-universe-bring-us-back-to-our-starting-point/#51cb8683f6c5 <comment><USER2> The notion of curvature in Earth's sense is applicable to its surface. No one is expecting to find oneself at the starting point having dug through the innards of our precious home.

Why would we consider such a premise in the case of the Universe, when we are clearly not aware of any facts proving an existence of its surface? At best we're inside the Universe.

Moreover, how would one define the 'sameness' of the final point? Is it in relation to neighboring objects or to some static reference point? How one could even ascertain the static property of such a point?

</comment><comment><AUTHOR> > What shape is the Universe? Or, to put it another way, If you get into a > starship, set off in one direction, and keep going, will you eventually > return to your starting point, as you would if you set off around the Earth? > The jury is still out, apparently, pending further and better information > about the curvature of space. "It's a fascinating question to explore. Even > though all signs seem to point towards 'probably not', there are actually > two ways that the answer might turn out to be yes, after all"</comment>


BlockChain Non FinTech Use Case – Peer Reviews - <AUTHOR> http://www.lawbamba.com/peer_reviews <comment><AUTHOR> BlockChain has gained significant traction in the fintech space. Are there any live applications in the non Fintech space?</comment>


Why Drudge Report Remains the Best-Designed News Website of All Time - <AUTHOR> http://rightlydesigned.com/why-drudge-report-remains-the-all-time-best-designed-news-website/ <comment><USER2> Seems to me that craigslist.org has the same stated advantages plus a much more robust set of capabilities.

<comment><AUTHOR> True, but it's not a news website.

</comment></comment><comment><USER3> Unfortunately the author's website can't say the same - how are pop up's still acceptable?</comment>


Wonga Apology - <AUTHOR> https://www.wonga.com/apology.aspx

<comment><USER2> So they freely admit that they lied to customers and charged them for fees to law firms in fact did not exist, but were invented by themselves...

I fail to see how this doesn't immediately lead to prosecution for fraud.

Maybe I don't understand the finer points of the law, but it seems like they're saying: "Yeah, we attempted to get money from people by lying to them," which in my naive world sounds exactly like a confession of fraudulently obtaining money.

Where are the DPP for goodness' sake?

</comment><comment><USER3> We're sorry. We're scum.

<comment><USER4> It's probably more like "We're being forced to say we're sorry by the FCA"</comment></comment>