CodeBetter

codebetter.com · Group blog · on HN since 2007

CodeBetter was a group blog by .NET developers on software practices, REST API versioning, TDD, CQRS and Microsoft's open source stance.

What HN saysHN links it for .NET-era posts on REST versioning, event sourcing and CQRS, and for criticism of Microsoft's MVP program.
85HN people shared it
20linked it in comments
113stories submitted
709story points
5 years agolast shared
2007people per year2026

Most-shared posts

  1. 1
    Node.js getting better in Windows Azure
    2 people · 6 points · first shared 2012 · 3 comments on HN
  2. 2
    Microsoft and opensource
    2 people · 3 points · first shared 2012 · discussion on HN
  3. 3
  4. 4
    A discussion on API Documentation and Hypermedia
    2 people · 2 points · first shared 2014 · discussion on HN
  5. 5
    An introduction to iptables
    2 people · 2 points · first shared 2010 · discussion on HN
  6. 6
    Glenn Block
    2 people · 1 points · first shared 2011 · discussion on HN
  7. 7
    Versioning RESTful Services v2
    2 people · 1 points · first shared 2013 · discussion on HN
  8. 8
    StackOverflow
    1 people · 212 points · first shared 2012 · 185 comments on HN
  9. 9
    How Google broke the OSS compact with Angular 2.0
    1 people · 39 points · first shared 2014 · 17 comments on HN
  10. 10
    Scriptcs gets a REPL
    1 people · 36 points · first shared 2013 · 23 comments on HN
  11. 11
    Don’t Use Try/Catch (2010)
    1 people · 35 points · first shared 2013 · 35 comments on HN
  12. 12
    A simple tip to make your debugging sessions go easier
    1 people · 25 points · first shared 2011 · 7 comments on HN
  13. 13
    Functional Programming Fundamentals Lectures
    1 people · 22 points · first shared 2009 · 3 comments on HN
  14. 14
    Scale Cheaply - Sharding
    1 people · 22 points · first shared 2008 · 4 comments on HN
  15. 15

What HN people wrote when they linked it

ssmoot · 2011-04-28
Maybe I was being overly sensitive. I do think you could've got your point across as easily without naming names though, or scrubbing the email to protect the "innocent". Since you did name names, I doubt any amount of compliments would avoid leaving a bad taste. As far as the message, maybe I'm just in a funny mood, but it strikes me as a great balance, and while I mentally get less excited about a project whenever I see "MySQL", it is probably about the nicest I've seen. In an attempt to be on topic though: If we're going to critique mailers like this, targeting the ones with the extensive Qualifications/Requirements list from recruiters to be allowed to work with their client's run-of-the-mill app seems fair enough. Here's one of my recent ones: Qualified candidates will possess the following skills and experience: * A proven background in Ruby on Rails design and development * Expertise in MVC architecture and design * Experience in MySQL RDBMS * Test Driven and Agile Development experience * If you have experience with other languages (e.g. PHP, Python, Objective-C), frameworks, multimedia, etc. all the better.</quote> Ok, so Rails+MySQL is about as vanilla as it gets in my book. MVC architecture and design though? Seriously, you can count the number of Rails developers who've put any thought whatsoever into that on one hand. In Rails it just "is". You don't think about it. Compare to http://codebetter.com/. Years after I left .NET and…
ern · 2017-06-29
As I remember, one Microsoft was one of the original TDD pushers. You may be mistaken: There was a well-known incident back in 2005 where Microsoft published guidance for TDD that was flat-out wrong (or at least not fitting with the mainstream understanding), and they had to retract it (in fact it was so far-out that they had to expunge the article from MSDN). http://codebetter.com/jeremymiller/2005/11/18/microsoft’s-recommendati… One person who worked there for over 20 years told me that "the peak TDD" at Microsoft was right around time of Win ME release Of course, Microsoft is big, and the broken guidance may not have reflected practices elsewhere in the company, but it seems unlikely that they were early TDD pushers if they hadn't grasped the concept (as commonly understood) by 2005.
slowmovintarget · 2014-11-17
I tend to subscribe to the hybrid approach here: http://codebetter.com/howarddierking/2013/09/12/versioning-restful-ser…
kitsune_ · 2013-12-17
A couple of years ago, Event Sourcing / CQRS was a really hot topic in the DDD enterprise world, especially within the .NET community: http://msdn.microsoft.com/en-us/library/jj554200.aspx http://codebetter.com/gregyoung/2010/02/13/cqrs-and-event-sourcing/ http://blog.jonathanoliver.com/2011/05/why-i-still-love-cqrs-and-messa… http://vimeo.com/28457510 LinkedIn's approach sounds fairly similar in a lot of ways.
latch · 2010-04-06
A post a while back about the MVP program elicited some interesting comments from a former MVP lead - specifically discussing the pressures on leads to drop people who don't follow the company line: http://codebetter.com/blogs/karlseguin/archive/2009/02/03/why-aren-t-i…
viggity · 2008-12-27
Oxite has caused a big brou-ha-ha in the .net community. Apparently the ALT.NET crowd wasn't very happy with how Oxite was created, and it is recommended that it shouldn't be treated as something to emulate with your own code. http://codebetter.com/blogs/karlseguin/archive/2008/12/15/oxite-oh-dea… I think most of the ALT.NET community over-reacted and started acting like a bunch of jerks instead of providing more constructive criticism. I like the way Rob Conery handled it better by actually providing suggestions to make the application better. http://blog.wekeroad.com/blog/some-thoughts-on-oxite/
bryanrasmussen · 2020-02-02
well I've certainly experienced my fair share of people on HN not understanding things, case in point you me now. I thought it would be obvious what I said was a joke since it is absurd, but now I'm getting annoyed at the person who didn't understood my sense of humor. However there are obviously also different ways you can write half a line of code, for example I can write half of any specific line of code you give me (allowing of course for rounding up or down when that line is an odd number of characters in length) Finally there are actually different ways you can count lines of code, generally it is considered best to use logical lines of code http://codebetter.com/patricksmacchia/2007/10/03/how-do-you-count-your… which it seems is not your definition, at any rate it is not necessarily the case that a single character counts as a line depending on what way you are counting lines. Otherwise thank you for the education, I consider the hours I have spent on HN golden hours, and the lines of com ment time well spent.
_random_ · 2014-08-07
I think the idea is to have more compile-time static type checking, e.g. for exhaustiveness. Probably any C# functional developer experimented with the monadic approach (myself included), for example: http://codebetter.com/matthewpodwysocki/2008/09/16/functional-c-patter…
skram · 2014-05-30
Also check out http://apiblueprint.org/ which seems to be by the folks at Apiary.io ... and this blog post all about API documentation: http://codebetter.com/glennblock/2014/02/06/a-discussion-on-api-docume…
jammycakes · 2013-01-31
Yes but that's not the case if you're changing a dependency in the middle of the chain, as is more commonly the case. Additionally, as far as I can tell, the main thing that slows compilation down isn't so much the actual compilation step as loading in and copying all the project references. Visual Studio does this separately, from scratch, for every project that you rebuild, since each project compilation runs in a separate csc.exe process. Quote from Jeremy Miller: "I took 56 projects one time and consolidated them down to 10-12 and cut the compile time from 4 minutes to 20 seconds with the same LOC" (http://codebetter.com/jeremymiller/2008/09/30/separate-assemblies-loos…
jongalloway2 · 2012-02-28
Nice explanation from Glenn on both implementation decisions - both separate controllers and different url's: http://codebetter.com/glennblock/2012/02/28/why-are-there-2-controller…
darylteo · 2011-08-31
Greg Young, himself, asserts that CQRS is NOT an architecture. And also asserts that CQRS itself has nothing to do with Event Sourcing. http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-s… "CQRS is not eventual consistency, it is not eventing, it is not messaging, it is not having separated models for reading and writing, nor is it using event sourcing." It is gaining a lot of traction simply because it seems like a complicated and cool way to solve an uncommon problem. I fear that Event Sourcing will soon become a over-engineered hammer for the wrong nail. If it were me, I would use CQRS principles, with a relational backend as my source model. Then when the need for scale arises, use ETL to either non-relational db or no-db for queries.
pbhjpbhj · 2011-08-12
I notice that on the Code Better page, http://codebetter.com/karlseguin/2008/06/25/foundations-of-programming… , he says "I’m excited to finally release the official, and completely free, Foundations of Programming EBook.". This could be interpreted, as there is no contradictory license statement on that page, as "this book is free-libre". If "Amazon Digital Services" (which, if not originating with Amazon, has to be a Trademark violation that could lose Amazon their Trademark right if not challenged) counter the DMCA notice with such a statement I think that would leave the matter unresolved and Amazon wouldn't, IIRC, be obliged to take down the material. You'd have to lawyer up instead. IA(quite obviously I'm sure)NAL.
DenisM · 2009-08-08
I think this does what I want but only for .NET: http://codebetter.com/blogs/patricksmacchia/archive/2008/09/09/interac… It also seems that Doxygen http://www.stack.nl/~dimitri/doxygen/diagrams.html can generate the diagrams I need. Now all I need is to integrate this into XCode...
CalmQuiet · 2009-02-17
No: topic is actually about demands of writing message objects: http://codebetter.com/blogs/gregyoung/archive/2009/02/09/cost.aspx
bedobi · 2021-07-27
I'm irrationally passionate about testing. Shameless plug: (rendered version at https://gist.github.com/androidfred/501d276c7dc26a5db09e893bb7c9f3ee) # Test your tests ## Summary: test interfaces, not implementations Tests that pass when something is actually broken, and fail when things actually do work, are worse than useless- they are positively harmful. ## The requirement Let's say we've been tasked with returning `400` when `GET` `/users/<userId>` is called with a negative `userId`. ## The test The requirement can be turned into a test that hits the endpoint with a negative `userId` and checks that a `400` is returned: ```java @Test public void getUser_InvalidUserId_400() { expect().statusCode(400).when().get("/users/-1"); } ``` ## Implementation A ubiquitous style of implementation may look something like this: (ignore whether you like the style of implementation or not, it's just an example) ```java public class UserResource { @Inject private UserService userService; @GET @Path("/users/{userId}") public Response getUser(@PathParam("userId") final Long userId) { try { return Response.ok(userService.findById(userId)).build(); } catch (final UserException e) { return Response.status(e.getErrorCode()).build(); } } } ``` ```java public UserService { @Inject private UserDao userDao; public User findById(final Long userId) throws UserException { …
Tangurena · 2009-11-16
A long time ago, I used to jump on every bandwagon that seemed interesting. That lead to lots of wasted time and effort with technological dead-ends. So I over-reacted and only bothered with technology that had been around a minimum of 2 years (or if a "for dummies" book on the subject came out). Some of our shipping products are based on VB6, while some of the others are .NET 3.5. Generally, if some new technology adds an edge, like Entity Framework (the shiny new name for "linq to whatever"), then we use it. Also, for internal tools, any new technology is fair game. So our internal tools have all sorts of bizarre stuff in them, and if that new stuff is useful, we end up using it elsewhere. I don't blog, but I'm thinking of doing it for some educational projects. Making a public promise to do something generally makes you more likely to go through with it and do it: whether it is a project or losing weight. One example is the "build your own CAB" [composite application block] series. http://codebetter.com/blogs/jeremy.miller/archive/2007/07/25/the-build… Something like this project might be what you're looking for to push yourself out of your "comfort zone."
mindcrime · 2011-05-20
Some general stuff: http://producingoss.com/ http://www.catb.org/~esr/faqs/smart-questions.html http://www.reddit.com/r/FOSSHelpWanted http://sourceforge.net/people/ http://www.reddit.com/r/codeprojects Outside of that, you'll want to know one or more of the popular Version Control Systems. Git is wildly popular these days, and subversion has a huge legacy base of projects using it. If you learned Git and SVN you'd be in good shape. But hg (Mercurial) and a handful of others are pretty popular as well. For a good intro to Git and OSS projects, see: http://codebetter.com/karlseguin/2010/04/22/contributing-to-oss-a-git-… Do you already code in one or more languages, or are you just now learning coding as well?
insertcoin · 2008-03-04
via: http://xrrg.com/x/r/53-web-20-feeds/ 43 Folders. A different look into the minds of freelancers. http://www.43folders.com/rss.xml A List Apart. Since 1998 they’ve been promoting the proper use of web design methods. Their ideas are original and they’ve set in motion many critical layout standards. http://www.alistapart.com/feed/rss.xml AfterDawn. Optical Media meets Web 2.0. http://rss.afterdawn.com/afterdawn_news.xml Apple Hot News Ticker. Get the good stuff directly from the source. The Apple blog will keep you up to date with Official Apple announcements and product releases. http://wdirect.apple.com/home/2008/ticker.rss AppleInsider. Looking for iPhone, iTunes, or just Apple Rumors in general, AppleInsider is one of the authority blogs covering this topic. http://www.appleinsider.com/appleinsider.rss Ars Technica. Ars Technica is looked up upon for creating original content in the Technology industry. http://feeds.arstechnica.com/arstechnica/BAaf BetaNews. http://www.betanews.com/rss2 BoingBoing. Looking for something totally unique, BoingBoing publishes interesting tidbits found from around the web. http://feeds.boingboing.net/boingboing/iBag CenterNetworks. http://www.centernetworks.com/rss.xml CodeBetter. http://codebetter.com/blogs/MainFeed.aspx Coding Horror. http://feeds.feedburner.com/codinghorror/ Consumerist. Consumerist has gained trust from many people by making Corporate wrongdoings public knowledge. Consumerist has also connected companies…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close