Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
G

Gates VP

@Gates VP
About
Posts
55
Topics
1
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Unlimited online backup solutions
    G Gates VP

    I use Backblaze. I have had to do a restore with their tool and it worked as expected. They even offer a method where they ship a drive with your stuff and then you mail it back when you're done. I do not know about their support for QNAP specifically, but they are the best deal I have seen around. Given their recent B2 launch, they are clearly dedicated to delivering lots of storage for a reasonable price.

    The Lounge question

  • Its time to buy a new development machine
    G Gates VP

    If you want to spend that much money, you're in a weird space because you are bordering on the price of an actual server. At that level, you can do a few things: * Get a "second-from the top" CPU. Typically in the USD$750 range. * Get two video cards to power a pair of big monitors at full resolution. * Get top-notch SSDs and put them in RAID 1. Ensure that you have the enough throughput on motherboard, many mobos can't handle that type of throughput. My biggest struggle with recent development machines has really centered around lack of CPU power, lack of screen real estate and lack of drive speed. If you spend your day doing things like compiling your code and running unit tests, then your computer is mostly dependent on CPU + IO. Doing things like git checkout and branch can cause lots of data to cycle through memory while you sit on those two things. Using a tool like Resharper can also suck up your CPU as it's doing real-time compilation over and over again. Likewise, I have yet to stare a at computer and go "too much screen real estate". I know people who work on a pair of 30" monitors. It seems ridiculous until you realize that you actually have stuff to fill out those screens. Getting a pair of dedicated video cards is the best way to power those two devices.

    The Lounge question

  • So which is better?
    G Gates VP

    It really depends on the scope of the whole project. But if you're just a one or two person shop, I would start by trying to get your app working on Azure Websites[^] if you can. This is their PaaS. It has a ton of features and will likely continue to grow as this is their real "value-add" component. In theory, both MS and AWS allow to rent & configure individual servers (IaaS), but this starts becoming a full-time job of just managing servers. And unless you're running lots of servers, it may not be more cost-efficient. So the PaaS will generally make your life easier. AWS does not really have a Windows PaaS, you would have to use AppHarbor[^] for that cloud. I have never used AppHarbor, but they've been around for a few years, so I expect they can competently handle your requirements as well. Again, without having to manage and configure lots of individual machines. Hopefully that's a rational starting point.

    The Lounge asp-net cloud database sql-server sysadmin

  • How many screens?
    G Gates VP

    If you are running applications with logging output or monitoring live systems or watching programs operate, having 4+ monitors can be totally reasonable. For example, right now I have CP open and my IDE on my two monitors. That means I can't see the build logs from Slack, or the live stats from Production, or my e-mail, or my CLI. If part of your job involves keeping an eye on Production (probably the case at a small company / startup), then it's totally reasonable to have a monitor or two just watching the live data. Trying to debug an issue can often involve a web browser + an IDE + a DB window (CLI) and that's an easy excuse for at least a pair of monitors.

    The Lounge com hosting cloud question

  • Is this an acceptable practice?
    G Gates VP

    Quote:

    ...datamember so many times with the word private seems to be a waste of space.

    Your own words literally say that you are worried about "wasting space". Now you've changed it slightly:

    Quote:

    The intent is white space and readability not saving space.

    You're worried about "wasting space" but only for some very specific and narrow scope of "wasting". And in this particular case, you're worried about "small waste" vs. "absolute clarity" which seems like a pretty lame trade-off. The fact that anyone had to question whether or not the attribute applied to all the variables means that you failed the "readability" test. Your goal of "readability" actually resulted in this code being hard to read and possibly being "unclear" to people who were not experts in this very narrow language feature.

    The Lounge json question

  • Is this an acceptable practice?
    G Gates VP

    So to clarify, you're saying that "saving space" is more important than "providing clarity" and "avoiding bugs"? If you're trying to save space why are you: 1. Using Private at all? That's the default, just take it out. 2. Using that little "m" in the prefix. Why not just lower-case the first letter? ("lastUpdated") 3. Using full words when you could abbreviate everything? ("lstUpd") 4. Not importing the System.Runtime.Serialization on the file? Then you could just type ""! If "saving space" is really important, why aren't you doing it everywhere? And at the end of the day, all of this code is functionally equivalent, right? So it all compiles to the same IL. I'm just not understanding the "save space" argument here.

    The Lounge json question

  • Is this an acceptable practice?
    G Gates VP

    If you have 35 or 40 of these grouped into one segment, they're going to flow off the screen. If you want to mark just one of them as "public", do you copy/paste this to some other part of the file entirely? How does this affect the attributes? Remember, after you copy/paste the private variable to the public section, the original attributes are on a completely different screen. And you're not instinctively moving the attribute along with the variable.

    Quote:

    I don't see any confusion, except that someone may be in doubt if the attribute applies only to the first variable or all of them.

    That's still confusion. And it's not really useful or purposeful confusion. You save a small number of characters and compile to the exact same IL code (hopefully) while introducing uncertainty for developers. This is the equivalent of doing C++ / C# if blocks without braces. You come back to this problem that actually caused real production issues on iOs: https://www.imperialviolet.org/2014/02/22/applebug.html[^]

    The Lounge json question

  • Is this an acceptable practice?
    G Gates VP

    At a first glance, I find this confusing. In particular because the DataMember attribute actually accepts a constructor parameter. - So if I set the constructor parameter, which field does it apply to? - Likewise, if you want to switch out serializers and use something like Protocol Buffers this syntax simply won't translate. You would need to break out each one as the constructor is required. - On top of this all, there's a mixing of types. I'm not a big fan of the "multi-declaration" syntax, especially when it doesn't save any actual lines like this example. But there are some cases where it is useful. That stated, if you're mixing types on the "multi-declarations", it's time split them out. I wouldn't call this "unacceptable" practice, especially in the context of firing someone over this. I would however call this "non-standard" and "confusing" and ask that it be changed.

    The Lounge json question

  • Sad news from Intel
    G Gates VP

    I have definitely heard of the AppUp store, likely from this site in fact. However, I'm not really clear what the store actually does. I mean, Intel is not really a "platform". I might optimize a server application for an Intel processor, but I'm not really going to develop for an Intel App Store. I mean, what about those servers running AMD procs or those that are simply virtualized processing units? What about all of those smart phones running ARM procs? I'm not sure if this problem was a marketing issue or just a really bad idea.

    The Lounge sales help announcement career

  • What's the optimum number/combination of screens?
    G Gates VP

    I have a boss with 2x 30" monitors, it's pretty impressive, but I don't know if it's optimal. My personal best setup was 4 monitors in a 2x2 configuration. However, I don't feel like this is "optimal" either. My personal ideal would be a large central screen with 4 "surrounding" screens that are a step smaller. The smaller screens would be useful for various production dashboards and build dashboards as well as pulling up docs.

    The Lounge question career

  • My last day at this job is tomorrow
    G Gates VP

    In most of the Western world there are minimum "notice" periods outside of the probationary period. So if you've been with an employer 3+ months (probation), you basically "owe each other" 2+ weeks of notice. In Canada, this is generally two weeks. So the company can let you go for any reason with two weeks of pay. If they want to give you less than two weeks, they must have a legal reason (theft, abandonment, etc.) My experience with the UK had this number at a 4+ weeks. In the United States, many states are "at-will" employers which means they can let you go for any time for any reason. You can likewise leave for any time, any reason. The way to prevent this is to negotiate a severance contract. Typically this involves you promising to give them a specific amount of notice prior to your departure and them agreeing to provide you a similar pay and notice. The time to get this straightened out, is when you start the job, not when you leave it. On a separate note. While your employer behaved in a "legal" fashion, this is generally considered "poor" behaviour. Congratulations on getting out. To help others from suffering similar fates, I strongly recommend leaving this information on a site like GlassDoor.com. This is the exact type of information that prospective job candidates need to hear.

    The Lounge question career

  • What bugtracker to use?
    G Gates VP

    Actually had a great experience with Pivotal Tracker. Looks like they charge $50 / month for 10 people: http://www.pivotaltracker.com/why-tracker/pricing/[^] It covered all of the basics very well and it provides a good API for customizing your workflow. So if you want to hook SVN into the bug tracking, it's pretty simple, they even provide a code example: https://www.pivotaltracker.com/help/api?version=v3#subversion_post_commit_example[^] Of the bug trackers I've worked with over the last 5 years (JIRA, Rally, TFS), Pivotal Tracker was my favorite.

    The Lounge collaboration tools help question discussion

  • The best lambda expression I ever saw
    G Gates VP

    I think I have to classify this as "wonderful", because it's honestly pretty common. The simplest case of SelectMany is to flatten a "List of List of Objects" into a "List of Objects". And that's exactly what this lambda does. I guess the "weird" here is that SelectMany is doing some extra magic merging the lists.

    The Weird and The Wonderful linq functional

  • Git rant, Part II - the word is the thing
    G Gates VP

    Quote:

    I expect "commit" to mean "save changes to the remote repository." I expect "checkout" to mean "get the changes from the remote repository."

    Hmmm, I think you nailed the problem right here in your statement. You use the word "remote" twice. The premise is in git is that you are the repository.

    The Lounge php com collaboration help tutorial

  • Developer Job Interviews
    G Gates VP

    This is a giant can of worms. I think the first thing to do is to read Joel Spolsky's blog posts and his book. Now before you even get to the job interview, start surfing the job boards and figure out how you stand out. Take a look at Glassdoor.com and see how your company is doing. Make sure that you know what you are looking for, check your salary ranges and benefits packages, know which trade-offs you are willing to make on a candidate and ensure that you're not just on a wild goose chase. Sometimes you're trying to hire experts and sometimes it's just "warm bodies", these interviews require different things. Recognize that the last year or two are possibly the most difficult times ever to hire an experienced developer. Demand is very high right now and salaries are very competitive. Now to the actual interview: - Whiteboard coding is acceptable, but actual coding is much better. Give them a laptop with tools and no net connection and let them build something. - Don't be afraid to throw people out. You will be doing lots of interviews, possibly 10 or more to fill a single position. If this person is a complete mismatch, save everyone's time and let them go early. - When asking questions about previous jobs, be very specific about what elements the candidate actually completed. The industry still has lots of deadweight and charlatans. You want to avoid people who were "part of a project" without actually "delivering the project". - Some of my favorite questions: -- What new languages or toolsets have you learned in the last 12 months? -- Tell me about your side projects. -- What are your favorite programming tools? (Experienced programmers should have some type of "toolbox") -- Do you contribute to any development community? (stackoverflow answers, google groups on FOSS products, etc.) - Some classic questions: -- Tell me about failure at a previous job, how did you recover or deal with the fallout? (this one should always have an answer, people fail, you need them to be able to recognize failure) - Ask them business questions, especially about their previous jobs. I try to get an idea for company size, team size, involvement with other stakeholders. Most software has multiple stakeholders and sometimes dealing with those stakeholders is just as important as programming competency. The key thing I look for is some type of continuous training and experimentation. Programming is a rapidly evolving field, there is always something to be le

    The Lounge career collaboration question

  • .Net developers, what is your go-to scripting language?
    G Gates VP

    Now that I know PowerShell, it's PowerShell all the way. I keep a lib of tools handy on my LiveMesh and use this to control everything.

    The Lounge question csharp

  • Virtual Machines
    G Gates VP

    So in theory, you could use any of these. Last I checked MS Virtual PC doesn't run Linux. That was a major downer, because it's nice to have one VM for "other stuff". VMWare is probably the best overall product. But it's also $$$. You can get the free version (VMWare Player), but it does have a limited feature set including sharing of images. So I typically end up with VirtualBox. It lacked multi-core support (don't know if that's been fixed), but it generally run everything and has all of the features: command-line control, easy export and sharing. And it's free and easy to install so it lives on my portable drive along with my VM images. One big note when dealing with VMs. The biggest bottle-neck is often IO. Very useful to give it "it's own spindle". I've actually had a VirtualBox VM perform better with the VM on a USB drive.

    The Lounge sharepoint sysadmin question

  • This code may not quite do what it says it does.
    G Gates VP

    So that second gem is not totally useless if it's trying to fill out an Interface of some type. In PHP I've done crazy stuff like this b/c PHP only supports functions in Interfaces so you end with "constants" as "functions". As to your first case, this has a full boat of failures. That whole block of if... elseif... else -> do the same thing is actually pretty comical. The fact that it's in a for loop and "finds something" but doesn't break is really just odd. But the kicker to me is that he has sets the app variable and then has a return value of true. Which basically says "hey check the app variable you passed me, I hammered it and returned the app I think I found" Thank goodness it's private and hopefully caused minimal destruction :)

    The Weird and The Wonderful ruby regex

  • Netbook recommendations
    G Gates VP

    I own a couple of netbooks and I use a small Dell vostro v13 at the office. So I've done some of this in a few form factors. The obvious trade-offs with netbooks are really about size vs. strength vs. cost. Netbooks will meet most of your requirements > Web browsing/shopping > Elementary word processing/office activities > Some trivial coding I've done all of these on my netbook in the last 24 hours :) But don't code on it all day, the keyboards generally suck. > nice and sleek to fit into a satchel without noticeably bulging it 10 inch netbooks will fit into a satchel comfortably. I carry mine around all of the time. > Reading PDFs of my technical books as I ride the train to and from work. This is where netbooks kind of suck. The screen is really small, particularly on the vertical. The width is just enough for modern websites, but the height is actually a little small. When it comes to reading PDFs, you only get a limited amount screen space with which to do this reading. Even in full screen it shows. At the edge of your budget, there are some 11" laptops that get much better speed and a significant real estate increase. But they may not be satchel friendly. Otherwise, most netbooks are equipped with the same Intel Atoms and the same motherboards, etc. Things to look for: - 6-cell battery - extra RAM (most ship with 1GB instead of 2GB) - do you like the keyboard/mouse (totally different comfort level) - consider a portable mouse the netbook mice tend to be poor

    The Lounge ios com question

  • $60K a year can make you happy
    G Gates VP

    OK, to put this into perspective a US job that pays $60k puts you almost exactly in the top 20% of US income earners. (assuming that you have a job and are over 25) http://en.wikipedia.org/wiki/Personal\_income\_in\_the\_United\_States In fact, it puts you in the top 40% of household incomes. So if you make $60k+ and your husband stays at home and watches the kids, you're still making more than the average family. And you probably have a University degree or better. If you exclude some of the outlandish parts of the country (NY, LA), then $60k + health benefits provides you a very comfortable quality of life. And if you're like most earners in this category, there's a very good chance that your spouse also works which bumps you up even higher. If you make 60k and your spouse makes even $10 / hour (i.e.: 20k), that puts your family into the top 20% of US households. So is that going to make you happy? You can probably afford to travel once / year, own a relatively new car, maintain a mortgage (at 2000 rates) and be a step or two behind the bleeding edge of new toys. Well look at the numbers and then picture the life. You go to a church with 100 families and you're in the top 20 for income. In fact, your top 20 group probably makes up 50 to 75% of the church funding. It sounds selfish, but that's a pretty comfortable feeling. If you're in this group, your kid is likely one of the richest 4 or 5 kids in their class. When the kids want to hang out, they want to hang out at your place b/c you have the good TV, the good games, the good snacks and the space. That provides some solid comfort. I know these are shallow definitions. But these things would probably make most people happy. Is 90k better than 60k? Probably. But the passions & hobbies you can afford at 90k were probably available at 60k. Numerically it's a 50% bump, but socially it provides a limited benefit. And if you're the type who's not happy with being in the top 20%, then how much further do you need to go? Top 10%? Top 5%? I mean really, 60k for one job is so far enough "ahead of the game" to keep happy those that can be kept happy. (now I will admit that I haven't seen the talk, it's not up yet, these are just my initial reactions)

    The Lounge html database com help question
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups