Herding Code 127: Setting up your Computer and Work Area

On this episode of Herding Code, the guys discuss computer and work area setup, from installation and file management to ergonomic work areas and animated GIF’s.

  • Kevin and K Scott both just got MacBooks, they discuss what they are doing with them, such as using the emulator to test HTML5 apps for iPhone/iPad.
  • Jon asks, “When you get a new mac, you open it up and rainbows come out of it. Do you have to install anything? How does that setup process work?”
  • Kevin talks about development tooling such as HomeBrew and XCode. They discuss different tools and apps that they need to do development.
  • Jon asks about twitter apps. K Scott uses the browser; Kevin is using the official Twitter app which seems pretty good except when it won’t launch the browser when clicking on the links in tweets.
  • When upgrading, do you go through fresh install or remove programs? Jon talks about using Ninite to install programs you use a lot such as 7Zip, Audacity, Chrome, FileZilla, Skype, etc, because it manages everything for you and you don’t have to click through all the install dialogs.
  • Also talks about using the Microsoft Web Platform Installer to get all of the web development stuff.
  • They talk about the pros and cons of using Microsoft Office, and discuss using the Mac apps or Google docs or Office.Live.com.
  • Jon is using Mesh to share between computer and sky drive; what kind of file sharing? K Scott is using Dropbox, says Live Mesh is important because of the remote desktop feature of Mesh. They talk about different file sharing companies and features, and talk about iCloud.
  • Jon talks about the Windows Home Group feature, and how easy it is to share files, printers, media, etc., and talks about doing backups. Uses Space Sniffer to find big files.
  • Jon got an SSD, so he made the old drive his D drive and used the SSD as his primary drive. If the SSD failed (which it did), he could just boot off the D drive.
  • They discuss the placement of the files on the computer, whether to move to a second hard drive or partition, etc., and whether to use Libraries; they talk about searching for files in Windows. Some software apps disable the file indexer in Windows. When you install on an SSD, they disable some services like defrag, prefetch – it also disabled search.
  • K Scott asks what kind of SSD Jon is using that is failing. Jon says it’s an OCZ Vertex 2, but he’s not sure it’s the drive versus the computer – gets blue screen on Windows, thinks it might be a hardware problem with his evil computer.
  • Jon asks if they use Hibernate or Sleep? How often do they reboot?
  • Kevin never uses hibernate. Jon will have a bunch of stuff running and will hibernate to save the battery on his laptop. Kevin thinks it burns slowly enough on Sleep, only hibernates when doing a full day of travel. Not worth it for a couple of hours.
  • With newer laptop (16gb of ram), hibernating is a big deal. Jon ended up setting hibernate file size and tweaking the hibernate settings.
  • MacBooks have pretty good battery life. The Air says it has almost 8 hours remaining; thinks that’s a little high, but it’s pretty good. Jon’s ThinkPad W520 is big, but gets around 7 hours, doesn’t have to worry about battery life; some optimizing settings make it difficult to use a projector.
  • They discuss how often they repave their machines and the effect of using beta versions of software, how they go about getting back to work after repaving. How do you save your settings and reapply them after repaving?
  • K Scott – windows get stuck off screen, can’t get them back on the main screen. Kevin has a utility that can help with that; it’s on his blog. Shows list of off-screen windows – can pick one and it will move it back to the main window.
  • Jon finds uninstall really works pretty well now, whereas before it was just a cruel joke.
  • K Scott talks about pulling pictures off of a Windows 6 phone. Doesn’t attach as an external drive, it installs Windows Mobile Device Center. Nooooo!!!!!
  • Jon finished his office and moved into it. What about a standup desk? Found something simple from IKEA that could be used for part of the day. They talk about the idea of a standup desk.
  • What about doing your work on a treadmill with a laptop? (Idea from a Neal Stephenson book). What if you did that for 15 to 30 minutes a day? Several people on twitter responded with information about their setups doing this.
  • Simple way – found something for forty bucks on amazon that the laptop would rest in. Would just walk, not jog. Others have taken the control thing apart and put in a desk. Let us know if you’ve tried something like this.
  • They discuss ergo keyboards, and using Synergy or Input Director for sharing a keyboard and mouse across multiple computers.
  • K Scott has a problem with the keyboard on the Mac; bothers his hands, especially when using it for hours. They like Lenovo keyboards.
  • Jon – some keys don’t map between Mac and Windows. Kevin uses a Microsoft ergo keyboard with the Mac, and out of habit still uses those keys, and it sometimes has a weird impact.
  • They talk about Vim and Mac Vim.
  • Jon switched from using a mouse to using a tablet. Mouse is what really hurts your wrist. Kevin moved his mouse to the left for years for the same reason. K Scott likes the TrackPoint pointing stick on the Lenovo.  Kevin’s never been a fan of the trackpad on the laptops, but the Mac trackpad is brilliant.
  • Talk about using different software to help readability, like Readable, which uses Google web fonts. Can customize it to meet your needs. Makes it easier to read web pages.
  • Jeff Atwood posted a blog entry about backlights behind the monitor like LED glowstrips. You can have a dark workspace and lower the contrast using backlights.
  • And now for something completely different . a lightning round.
    • What’s your favorite browser?
    • What’s your favorite Javascript library this week?
    • Did Adobe really kill Flash? Does the lightning round really work? Does anyone expect the Spanish Inquisition? Why do people keep making websites that exclusively use Flash, especially restaurants? Is the future of video really animated gifs?

 

Show Links:

Download / Listen:

Herding Code 127: Setting up your Computer and Work Area

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0127-Computer-and-work-area-setup.mp3]

This week’s show notes were typed up by @RobinDotNet – Thanks!!!

Herding Code 126: Jeff Atwood on the overlap of Video Games and Learning

On this episode of Herding Code, the guys talk to Jeff Atwood about the intersection of video games and learning, along the way discussing music, learning to program, casual games, bleeding edge games about bleeding (Battlefield 3), Kinect, Wii, and retro games.

  • Jeff talks about video games as a gateway to programming. Jon and Jeff talk about how video games teach a skill which is valuable in programming – the ability to accept and work with arbitrary rules.
  • Jeff talks about the crappy games he has created.
  • The guys talk about how Rocksmith can teach you how to actually play a real guitar. The guys compare Rocksmith to Rock Band and Guitar Hero, and Jeff talks about how really learning guitar skills takes work, and Rocksmith and Rock Band take two very different approaches.
  • There’s a discussion of how well Rocksmith senses what you’re playing, and how musical performances are by nature interpretive and imprecise.
  • The guys talk about how video games can lead to real world knowledge and skills.
  • Jeff brings up the concept of gamification and how it can be used to get people to learn something worthwhile. He discusses the balance of fun and learning, and the importance of keeping learning fun.
  • Jeff talks about Khan Academy, and how it leverages gamification.
  • Jon talks about Codecademy – free, interactive programming classes with some game-like features.
  • K. Scott talks about the Roblox game and using Roblox Studio to do some basic programming.
  • Jon talks about the World of Goo, and how he’d helped his own daughters build their own levels in World of Goo.
  • Jeff talks about incidental learning and how games can encourage it.
  • Jeff says programmers need more points of reference than XKCD to explain things.
  • Jeff and Kevin talks about the power of gamification as a psychology hack, and how it can be used for good and evil.
  • Kevin brings up the idea of addiction to Stack Overflow. Jeff talks about the ways that Stack Overflow tries to prevent burnout of contributors.
  • Jeff talks about the balance of effort and reward, and how Stack Overflow sometimes over-rewards people for minimal work on their part.
  • The guys talk about video games that encourage teamwork, such as World of Warcraft, Battlefield 3, and Half-Life.
  • The guys discuss Microsoft Kinect and compare it to the Nintendo Wii. There’s a discussion of the controller responsiveness and selection gestures for these systems, and the importance of writing a game that’s native to these new platforms as opposed to simple ports.
  • Jon takes from questions from Twitter about Jeff’s favorite retro games, and Jeff says video game nostalgia is overrated – he’s really excited about the new games like Battlefield 3.
  • Kevin asks about MAME and home arcades. Jeff says it was interesting to have build two home arcade machines, but it’s not something he’d want to spend anymore time on.
  • Jon talks about Braid, and the hidden insanely tough extra game of finding all 8 stars.
  • The guys congratulate Jeff on his recent news that he’s expecting twins, and he signs off to play Battlefield 3.

Show Links:

Download / Listen:

Herding Code 126: Jeff Atwood on Video Games and Gamification

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0126-Jeff-Atwood-on-Games-and-Gamification.mp3]

This week’s show notes were typed up by @rossfuhrman – Thanks!!!

Herding Code 125: Truffler with Joel Abrahamsson, Marcus Granstrom and Henrik Lindstrom

On this episode of Herding Code, the guys talk to Joel Abrahamsson, Marcus Granström and Henrik Lindström about Truffler, a solution for building advanced search and querying functionality for websites and other data-centric systems.

  • They talk about their backgrounds and combining their different skills to build something pretty awesome.
  • K. Scott says Truffler has a REST API and can be called from several languages (.NET, Java, js). How to send queries, where is the data?
  • Joel explains they’re using Elastic search, which indexes JSON documents; you push data to it in the form of JSON, then query it using JSON. The data is stored, but the point is to build awesome search.
  • Marcus points out you can get a Truffler in a box, where you get a server to your house so you can run it inside your own internet if you like.
  • K. Scott mentions the examples using the C# API on the Truffler home page. Do you convert that to a URL for your service?
  • Joel talks about using Elastic Search and the bits they’ve added on top of it, including the various integrations or client APIs they are making available.
  • K. Scott says he ran through their example; was able to just bang his way through it without having to dig into the documentation too much.
  • Joel: Instead of bringing your data to the search engine, we’re trying to bring the search engine to you, so you can query it in a way that feels natural in C#. That’s the whole point of Truffler.
  • Jon Asks about being able to search for a keyword and also have a geographical search and how that works.
  • Joel says they search for the keyword and then filter by coordinates, which does not affect relevance. Can specify that matches for the keyword have double the relevance of non-matches.
  • Talking about the ability to modify relevance and rank criteria higher and lower.
  • K. Scott asks if they contribute any patches or make any patches or augment anything to the technology they are building on?
  • Henrik has gone through the elastic search source code quite a few times. Found bugs, but not trying to augment it, just trying to find a way to package it in a nice way.
  • Jon asks about the document search capabilities (pdf, xml, word, etc) – part of elastic search? Or did you have to do some of that work?
  • Marcus replied that most features are basically from the elastic search core functions. The mods we have are just bug fixes. Not exposing any new functionality, just providing some features that are a little different from the core project.
  • They’re trying to make search easier so you don’t have to analyze and then index your data; they’ll do that for you.
  • Jon asks about highlighted words and bacon. Joel says it’s configurable. Can ask for one big fragment with highlighted keywords, or several small fragments, comes back as a separate fields in the JSON document. To make it as easy as possible, they are using LINQ syntax. Example: Select.As Highlighted()
  • Discussing how to add search to your website/blog.
  • They’re using JSON.NET. Discusses client class and using extension methods.
  • They discuss how to do a Google-type search – typing in textbox, brings results.
  • K. Scott: Any support for Word and PDF? Joel: Yes, it’s out of the box with Elastic Search; handles all kinds of formats.
  • K. Scott asks what the biggest challenge is. Joel: Everything. Branding, building the product, figuring out the market.
  • K. Scott says this is actually a product and a business now; was that new for the three of you? Joel says yes; were forced into it when working for a customer together who needed to search and query data not stored in a normalized database. Was the initial seed idea of Truffler.
  • K. Scott asks about node. Henrik said they use node as a reverse proxy to do authentication for Elastic Search.
  • They know what it can do; they can control how it’s used. It’s scary and exciting to see how people are using it.
  • Marcus said have to know what queries they want before they come; they are adapting it to handle so many queries without knowing what people are going to use it for.
  • Jon asks about performance / caching results on client side. Joel says servers can handle a lot, but there’s always latency. With .NET, allow you to cache search queries, which are serialized. For Get requests, don’t have caching; they’re pretty quick, but will add them in the future.
  • K. Scott asks what’s next. Lots of features; very interested in feedback. Have partners/customers testing with large sets of data. Lots of things in the .NET API they don’t expose but would like to. Want to provide as much flexibility as possible.
  • K. Scott asks about storing his own metrics. Providing some metrics about how his search is being used? They’re working on that, and SSL, encrypted indexes in planning stage.
  • Jon asks about support for custom synonyms; they explain what that means.
  • Plans and prices – free for developer. Then have basic and premium plans depending on how much you’re using it, what features you want, etc.
  • Joel says they have support for inheritance.
  • Jon asks about pricing. With developer license, if have open source project, get quite a bit of functionality and features.
  • Joel says that for developers, they want to encourage use. Would like feedback.
  • Jon asks how this compares to other search engine options and other document databases like RavenDB? Joel says you can use it for a document database, but that’s not the primary purpose of it. Raven is an awesome document database with text search, where this is awesome text search with basic document database capabilities. Henrik says if you take hardcore search, their main idea is not to provide hardcore search, but to enable developers to utilize search without being search experts.
  • Released client for Episerver, used widely in Sweden. Truffler will take care of indexing and hook up to events for you. They have the concept of filtering (using the LINQ where method), and have the ability to extend that.
  • K. Scott asks if this is open source. Joel says not exposing the source code at the moment. The .NET API is a very important part of their product, do some really cool things with it, would like to keep it to themselves. May release it in the future.
  • Truffler web site is truffler.net. On the about page, there are links to twitter and Joel’s blog.

 

Show Links:

Download / Listen:

Herding Code 125: Truffler with Joel Abrahamsson, Marcus Granstrom and Henrik Lindstrom

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0125-Truffler.mp3]

This week’s show notes were typed up by @RobinDotNet – Thanks!!!

Herding Code 124: Anthony van der Hoorn and Nik Molnar on Glimpse

On this episode, the guys talk to Anthony van der Hoorn and Nik Molnar about Glimpse, which allows you to debug your web site or web service right in the browser.

  • Jon asks why Glimpse was created.
  • Anthony gives a high-level explanation of what Glimpse does.
  • Glimpse is for your server what Firebug is for your browser.
  • Glimpse exposes a plugin architecture that allows it to be extended as necessary.
  • Kevin asks if Glimpse can be leveraged from application code. Nik explains it is possible, but 99% of the functionality you need will not require any extra code in your application.
  • You can point your logging framework to Glimpse and then you can see log entries relevant to the request.
  • The guys talk about how Glimpse fits in with NLog, ELMAH, mvc-mini-profiler, etc.
  • Nik says Firebug + Fiddler + Glimpse is the trifecta of development tools.
  • Jon asks how Glimpse can be used to help a user experiencing trouble with a production site.
  • Jon asks about running Glimpse in production.
  • Twitter question from @danielauger: “What was the most difficult metric to tap into?”
  • Anthony and Nik explain all the detail that is tracked in the Execution tab of Glimpse.
  • Anthony talks about how they decided to display all the data that Glimpse has.
  • Jon and Anthony talk about how Glimpse could be used to improve page response times.
  • Kevin asks about the performance overhead of using Glimpse and using it in production.
  • Nik explains how Glimpse plugins are enabled/disabled.
  • Jon asks about seeing the validation rules for a particular request.
  • Anthony talks about what is added in to core Glimpse versus what goes in to Glimpse plugins.
  • Jon asks about how Glimpse handles Ajax.
  • Kevin asks about record-and-replay functionality in Glimpse.
  • Jon asks about the implementation of the client side display of Glimpse data.
  • Nik explains how to configure Glimpse to easily compare differences between test, staging and production environments.
  • Jon asks about the future of Glimpse.

Show links:

Download / Listen:

Herding Code 124: Anthony van der Hoorn and Nik Molnar on Glimpse

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0124-Anthony-van-der-Hoorn-and-Nik-Molnar-on-Glimpse.mp3]

Note: Thanks to @rossfuhrman for typing our show notes this week!

Herding Code 123: Andreas Håkansson and Steven Robbins on NancyFx

On this episode, the guys talk to Andreas and Steven about Nancy, a lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono.

  • Scott Koon asks why Nancy was developed and what are the problems going up against ASP.NET.
  • Andreas explains Nancy is a lighter approach and doesn’t get in the way.
  • Andreas explains a basic Hello World – 5 lines of code, and Steven points out a Nancy app fits in a single Tweet.
  • Nancy has No System.Web dependencies – just depends on the Client profile, and works great on Mono.
  • Jon asks about support for OWIN, a Rack equivalent for .NET. Combining Nancy and OWIN allows you to have an end-to-end OSS solution.
  • Jon asks about support for view engines, and Andreas says that Nancy supports most major view engines including Razor and Spark. There are quite a few Nuget plugins.
  • Andreas points out that you can do most things in Nancy that you can do in ASP.NET MVC.
  • Jon asks if you can add Nancy to an existing ASP.NET MVC app.
  • The group discusses the value of having many competing web frameworks.
  • Steven explains Nancy isn’t about crushing the competition, just providing a different approach that some people might prefer.
  • Jon asks Andreas about his post about the value of OSS being the vision not the code.
  • Jon asks about web application security for Nancy – since it’s a lightweight framework, am I on my own when it comes to security? Steven explains the security features in Nancy, and how they work without requiring a dependency on System.Web.
  • Jon asks how many users of Nancy there are.
  • Kevin asks what the most challenging part of developing Nancy has been. – Steven: HTTP implementation and the syntax simplicity. Andreas: fighting C# syntax limitations.
  • Kevin asks whether Nancy is trying to be ASP.NET MVC.
  • The group discusses extensibility and custom configurations.
  • Andreas explains Nancy will be adding static and trace diagnostics in the future.
  • Twitter question from @bitbonk: “Relate or compare NancyFx with WCF Web API.”
  • Twitter question from @codereflection: “can we get around having to mock httpcontext w/ Nancy? Do we even need to?”
  • Via Twitter, @kppullin asks about how the Nancy team decides how to add features.
  • Jon asks about the best places for interested users to get information, and there’s a discussion of documentation, Google Groups, Twitter, and screencasts.
  • Jon asks about a NuGet packages that would have some samples. Andreas explains why the samples are included along with the source code on Github instead.
  • Kevin asks whether they do performance testing, and how Nancy’s performance stacks up.

Show Links:

Download / Listen:

Herding Code 123: Andreas Håkansson and Steven Robbins on NancyFx

[audio://herdingcode.com/wp-content/uploads/HerdingCode-0123-Andreas-Hakansson-and-Steven-Robbins-on-NancyFx.mp3]

Note: Thanks to @rossfuhrman for typing our show notes this week!