What is "Accelerator for websites"?
HN user
TheMonarch
Using it for my blog, and planning to use for my company's site soon. We'll have 2-3 web roles, SQL Azure, and possibly 2 worker roles in the future. Table storage for logging, and blob storage for cached versions of custom minification and bundling process, as well as for thousands of images.
It's very nice that you can define your app and then assign resources to it after the fact. As long as designed properly from the start to support this model things seem to work really well.
My main gripes about it are the limitations of SQL Azure -- no cross db joins, mysterious performance throttling. Federations seems like a KILLER feature, but for it's own limitations (no cross-db again, and no support for something like distributed/partitioned views, because the partitioning basically has to be determined at the application level). I want this scale out feature to take place at the database level if possible, the way partitioned views do in SQL Server Enterprise Edition. DO I really want to manually handle fan-out queries to make sure that no two users get the same user name? No.
I'm hoping they will improve the SQL Azure story in 2013 because it could mean the difference for myself and people I know of moving only some apps to Azure vs. moving everything.
I also skip the "objectives" section when I read resumes.
I agree, the assertion that you shouldn't test is absurd. For example, TDD can save you time by catching bugs for you. When Iv'e worked on apps without tests, I have to test manually each time I make a build, which gets annoying. That's time I could spend coding. I think the solution is something in the middle ground. TDD can sometimes veer off into a time wasting effort for the sake of TDD. Just TDD the complex parts, or the ones that are likely to break. Also write the tests that are easy, or quick to write.
Seeking freelance work. Key skills: Full stack asp.net mvc, javascript, coffeescript, SQL, Azure, c#. Very strong SQL and data skills.
I just want excuses to mess with Clojsure and NoSQL this year. Now I need ideas that are interesting enough that I'll be motivated to build them out. Anyone have some throwaways ideas?
Well, there is no guidebook for this kind of thing. I don't know what to tell you. THere are probably people who know how to accomplish what you are trying to do, but I don't know how to advise you past this point.
The takeaway is that while you sound like you are probably a solid developer who's passionate about good software dev practices, the thing you need to work on is people skills, and the politics on how to get what you want. Basically you have a set of things you want to see done from a tech perspective, but now you need to figure out how to effect that change in the company you're in. It's not as easy as it sounds. It's not as easy as explaining the benefits to people. A lot of times, to be honest, I've felt very passionate about something and when it came time to try to convince others, I couldn't really convince them and it was really frustrating. The only thing you can do in those cases is to learn to be less rigid about it. If it's going to bother so much that youa re going to keep stickling about it, you might better off working somewhere else.
I learned that I am sometimes very rigid in how I want things done, but that is only my idealized version of how thing should be. The rest of the team may not want to adopt my ideas, so I had to learn to accept that. There is the perfect way of doing things, an then there is how things are done in real life. Everyone has different motivations. Sometimes people just aren't into their software dev jobs, sometimes they just know software as they learned it years ago and don't want to learn to do things the "right" way, or don't want to learn new technologies. Sometimes the motivations are political. Sometimes it is possible. I think it's often impossible to effect change if the "rockstars" aren't in agreement, often as we discussed before, because they don't want the guys lower on the totem pole showing them up by improving things.
It sounds like you have reached a dead end. You can either figure out how to do it on your own, which will take soft skills. You won't do it by convincing anyone that your ideas are technically the right way to do things. People generally don't care about that in the real/business world. You will have to learn to influence people, to convince them to do things they aren't into. One of the ways I know of is to do the pocket of excellence and make the team dependent on your way of doing things, and then when they are dependent on it, expand, and formalize it. The CI server is running in a VM on your workstation. You just use it and set it up, and make sure everyone on the team can access it. When they want a build, you send them a link to the URL for your CruiseControl instance (o whatever CI tool). They want to fix a piece of code you are in charge of? If they code a bug, make a unit test and ask them to write code to make the test pass. Just set things up the way you want as much as possible an force people to use it. Don't give them a choice. If yuo try to have a discussion in which you envision people agreeing with your way of doing things, that will never work. Just force them to move in the right direction by doing it. Managers aren't as powerful as you might think. The team generally does what they want. The worst that could happen is they ask you to cease and desist, but they probably won't because they probably know that you are a good contributor and they will have to put up with your desire to do things "right".
That's it, basically is to keep trying, but don't try to argue verbally, just put stuff in place and don't give people a choice, or you can find other employment. Focus on small things, and 1-2 changes at a time, you don't want to change everything at once.
Hope this helps.
I agree with this, if everything works with the company's current process, there will be no way to convince people to change, and there wouldn't be any reason to.
Try to maybe focus on fixing problems that your company actually has.
Why are the rockstar dev's not interested in things like automated builds, and unit tests? Are they really "rockstar" dev's? It might be political. Maybe they like being the only ones who know how to build the product, or that it has to be done on their machines.
Sometimes people shoot down ideas of those below them because they don't want to see a "threat" rise up to compete with them. Maybe if you can't convince the rockstars, just get everyone else onboard.
So you created the "pocket", are you getting anyone else involved? If you already tried to get official adoption of these practices and that didn't work, I dunno. You might just get it done. A lot of times managers ignore requests like this because they don't want to bother with change. THey don't realize the benefit, or they don't want to try to force change on a team (maybe they don't want to adopt anything the rockstars aren't into).
Very high level documentation is good. Things like, what are the steps to get the app to build, what tools do you need to install, frameworks, etc. What's the directory structure, so that a newcomer knows how to approach the project.
I'm a fan of self documenting code. Trying to document code is nice, but rarely possible to keep up to date. I do like to put short comments on a method if the name and class its in don't provide enough info. It's better to spend time writing code and tests than documentation.
You can't always convince people to do things they don't want to do. Some people don't care about putting more than the minimum of effort into work. Most people hate change. But if you just go ahead and create the pocket of excellence, people tend to notice why its good and if you get momentum then the rest will follow. Who are the influential people on your team who if they started using these good practices, the rest would follow? How do you think you should best convince them? For some people, find out what motivates them, and then see if you can explain to them how adopting these practices would benefit them.
Have you read the Pragmatic Programmer? They talk about how to handle a situation like this. From what I remember it said to build a pocket of excellence in your dev workspace first, and then expose everyone else to it.
Set up the CI/build server on your machine, have it email everyone when the build fails. They will see the use of the tool then, and when the team accepts it they will hopefully get an official server to host it on.
Write tests for your code, and when other devs work with you on issues, or break things, write tests and send to them "Hey, i wrote this test that shows the code you wrote is failing, can you make it pass?" Also ask others to make unit tests. You will have to write the bulk of tests. You probably know which others on the team are open to writing tests and working with you on the pocket of excellence. Get them involved first, and then the idea will spread. A good idea would be buy them copies of Pragmatic Programmer too.
No, you aren't process oriented. A software team that doesn't at least like the idea of automated builds, and tests is crazy. As far as if it's a good place to work and improve one's skills? That depends. In some teams you might never get them to adopt the pocket of excellence. If you are working in a place like that, then it's probably not a good place to work. But if you have a shot at converting them by just doing it on your own first, then it would be a great opportunity to get experience with setting up these aspects of a software shop. And you can put that on your resume, blog about it, etc. In that case it would be a great experience.
I doubt a lot of it too. Same thing as people who underexaggerate how much they studied for a test in high school and college.
Tried but it didn't seem to work. I'm using Chrome, and I typed in Atmosphere. It took me to another page asking me to enter the artist name again. After 3 tries it finally showed an empty box for "Atmosphere", with a very slow resizing animation. Nothing ever loaded inside the box for "Atmosphere" (by the size of the box I'm assuming it would show an album cover?), and no data ever displayed.
meetup.com uses Java. And Google if you count Android.
You could try Orchard CMS on Azure websites. It is a CMS, but it has an out of the box "Blog" recipe that let's you get started without writing any code. Azure websites is cheap (and free if you use the free tier). You can deploy with git, or you can deploy with a canned Orchard CMS image already on the Azure portal if you don't want to touch any code.
Just wanted to say that the landing page could do a better job explaining what this tool is. It took me almost 30 minutes before I figured out what this new product did. I didn't know what these "tags" were that kept getting mentioned.
Will this help at all if I want to let my marketing dept. publish Doubleclick For Publishers ads flash ads in certain spots on a large-ish website? I would say no, but I'm not sure how DFP works (marketing dept has expressed interest in moving to DFP, but we haven't looked at it yet), if the tags could determine the ad content in a banner spot and mid-article on a particular page, that would be awesome. Otherwise I don't think this will be useful for our company.
Haven't had problems like this since WinXP.
Bulk email, or employee day to day email?