This brief little youtube vid sums it up nicely.
One step higher, the author has a JEE Intro focusing on web, MVC
Hitting you over the head with the semicolon you left off the end of a C++ class declaration, comes the stumblings of a Developer and his pet sheep. Wooly.
This brief little youtube vid sums it up nicely.
One step higher, the author has a JEE Intro focusing on web, MVC
I needed to select a shopping cart application for an associate. This blog post provided a nice view of the PHP shopping cart landscape. My limitation was using PHP 4 and MySQL 4 and I wanted something simple that looked good with out the need to splash a lot of paint on by way of css or template files.
StoreSprite turned out to be the tool of choice that fit all the above criteria. It was full featured, with a reasonably simple UI for shop admin first timers to get their heads around. I did experience some issues getting the Paypal sandbox to work for testing, and it lacked support for different shipping rates to different state/territories (different shipping rates for different countries is supported though). However we were able to work around those issues to be able to deploy a site using it and having a happy business owner who went from updating a static html page with Paypal buy now buttons to a dynamic site where they dont have to see any html again.
To address the above limitations, I would use a more mature product like Magento. It did support the shipping types we were after and its pluggable architecture and open source code meant it much easier to support with a strong community and plugin base. However, it does need PHP 5 (although a workaround to include PHP 5 binary files to get it to work on PHP 4 servers is mentioned on their wiki). Also, while the UI is more polished, it would be more difficult for the beginner to get to terms with. I found, that the more full featured a shopping cart app gets, the further the admin UI is separate from the user UI, both in terms of the domain used, and the mental picture of how things are connected. For example, StoreSprites menuâs are clear cut â Settings, Products, Content but Magentoâs seemed to have a few different areas for the same thing â where are the shipping settings, are they are plugin setting in the Store menu, or in the Products menu.
The other alternatives I looked at were OSCommerce and ZenCart that come bundled as âOne Click Installsâ with many a hosting provider offer. However the default theme was stale â very crowded and lots of options to setup the different sections of the site. It made things more time consuming than they had to be.
From HP Technology at Work newsletter article here
âWhile itâs true that alignment has improved and IT is more business-smart, the majority of business leaders remain fixed in their view that there is business work and IT work,â she writes in her white paper Circa 2015: The CIO of the future. âWithout a change in this mindset, the IT-smart digital natives that are starting to populate the business ranks will have little positive impact on the future of IT.â
Couldn’t have said it better myself đ
My favourite subject, what the business wants VS what IT wants?
The analogy of the expectations of a coffee barista and their ability to deliver their service is used as an analogy to that of the business has a service in mind from IT that needs to get delivered according to a set of reasonable parameters (timeliness, cost, value for money). IT on the other hand have an agenda of logic and process, which doesnât gel well when business requires innovation and doesnât have the rules or the process in place themselves.
I think personally the biggest barrier is that the business sees IT as a service and IT sees business as a consumer/customer. Yet they are all on the same team and the goals of business sustainability, profitability and efficiency are all shared and equally valued. There needs to be a bridge, and I dont mean of the heavy BA role variety.
The bridge as I see it, is the increase in toolboxes. Business for whatever reason innovate within the spheres of people, interactions and workflows, but either abstract too far or are focused on existing implementation when it comes to involving IT style solutions in their innovation. Perhaps as our current Gen Y workforce begin to move into management roles that shape business thinking, they will have an IT acumen and understanding of the tools and patterns that can take a business workflow and cut out the redundancy â theyâll know what to ask out of IT better because theyâll be able to ask for the right shaped tools.
Iâm not saying that IT should just be a bunch of monkeys coding to whatever requirements waiting for these super Gen Y managers to come up through the ranks and lead us out of bad requirements / bad direction hell. IT need to step up into the business strategy to do the same thing â innovate with the business â show them where the efficiencies and sweet solutions lie. And really instead of being put to task with what the business wants (an extension of a business domain area for example), they should innovate with the business, put to task on how to grow the company, taken out of the tunnel vision project and given the autonomy and self direction to grow the company.
The article asks something of IT which is important â professionalism and knowledge. Having barristaâs scratching their heads about how to perform a request indicates a lack of experience and knowledge. IT people know how to be innovative, but they donât necessarily know how to innovate within a business environment where they have constraints on time, directions by different stakeholders, but to also be innovative, you have to be timely. You cant be timely if you donât have the experience or knowledge to respond in a timely manner. But in order to be useful to the business, you need to be.
At the end of the day, my half baked utopia is that IT are the business decision makers, and conversely the business decision makers are also IT people. Those companies that can leverage best of breed can at the very least save some unnecessary time and interactions.
I read with great interest, the blog by steven list about Facilitation patterns (its also about a whole lot of other things Agile related)
It goes through a lot of different characters of facilitators in an engaging way â dare I say also provides a good opportunity to look at oneâs own behaviour in meetings and question my communication techniques are as positive as Iâd want them to be!
This is a quick read: Making the Good Programmer ⌠Better
And another: 5 Tips for creating good code every day; or how to become a good software developer
**** Recommended **** If you are looking to get a job or updating your resume, you might want to know where your competencies stand. The Programmer Competency Matrix very thoroughly lists attributes in the disciplines of Computer Science, Software Engineering, Programming, Experience and Knowledge and provides 4 levels (numbered 0 â 3) for each attribute describing what knowledge you have to be considered at each level. I think it should be a mandatory professional TODO for any serious programmer to rate where they are at and what they need to do to achieve further competency. Its a career development guide for the technical and soft skills a developer is required to have in a world that is growing ever more competitive.
In Signs that youâre a bad programmer the blogger talks about Symptoms and Remedies of bad, mediocre and âshouldnât be aâ programmer types. Its an excellent tool to look at yourself critically and see where you could be improving.
Most of these articles I picked up by following the DZone site on twitter, who are also behind those awesome Refcardz that help you get up to speed or revise on a particular technology in very short time.
I also follow a lot of other renowned technical guruâs in the Agile, Java, Spring and Groovy spheres. Usually, they are all following each other and when there is a good article, they all retweet it (a validation of what is good). If you look at my twitter profile, you can see who else Iâm following and add to your sources of development info.
Somewhat due to the number of developer emails and twitter posts I dont read tech books as often as Iâd like, but there are some important ones that every dev should read, usually everyone has their own list with a bias to a particular technology they use more often. The one here is a fair example of books Iâve read or own. There are plenty more âgood programming listâ posts, just google or look on Amazon.
This is one of the best plugins that Iâve come across in IDEA. It simply pops up an unobtrusive window every time you do something with the mouse, that has an equivalent keyboard shortcut to remind you how you can get to that action quicker. This means you can become more productive.
An even better feature though is that if you use an action that doesnât have a keyboard binding, after about 3 times of using an action it will ask you if youâd like to set one and take you to the preferences dialog (Iâve configured mine down to 2)
Speaking of plugins, Thoughtworks Neal Ford has a neat presentation online about some of the most useful plugins in Idea and Eclipse. There were a couple in particular I wasnt aware of
CTRL+E â Open recent files list â This makes using tabs redundant. A small popup list of files youâve recently looked at for you to choose using, regardless of if they are appear on the tab bar, you closed or IntelliJ took the liberty of closing for you because youâve exceeded the default 7 tab limit (super annoying coming from Eclipse, BTW)
ALT+SHIFT+CTRL+N â Symbol lookup (aka CTRL+N on roids) â Find a symbol (variable, method name, whatever) in any file. Obviously slower than CTRL+N since it has more to look through, but a zillion times efficient than opening the Find dialog and navigating its controls. BTW, Eclipse has CTRL+O, but from memory, that only looked in the currently edited file only.
My favourite Groovy/Java/IntelliJ web presenter, Vaclav Pech, has a short 20min Parleys talk on using Groovy with IntelliJ.
What I found neat was IntelliJâs ability to take a Java class, rename it as a Groovy one, then refactor all the annonymous inner classes. I also learnt about the capabilities of Groovy, the part where a class gets defined as a Map. Wonderful stuff.
Also neat, was showing how refactorings apply not only to Groovy and Java, but also to Scala code in the same project.
Interesting blog about how multiple virtual machines running on the same metal, each with their own JVM instances performing garbage collection can degrade app performance when the hypervisor has to swap out memory
Given at work, we will be switching platforms so everything is moving to the supposedly common good of redundancy that virtualisation provides, its worth noting. I wonder if the new G1 garbage collector is any different, or if staying on Solaris with its Sun/Java roots and using zones instead manage this any differently?