After 8 years, we have updated our logo.
Filed under: pixolut
May 20, 2010 • 2:18 pm 0
After 8 years, we have updated our logo.
Filed under: pixolut
March 8, 2010 • 10:47 am 0
version 1.8.5.0. is up now. The changes are generally relatively minor since the last release – just a few methods which we’ve needed for iTOK.
- Change Touch() method builder in BizBloxBuilder to use Enum column names rather than indexes- Add new constructor to DataObject(Guid id, Boolean load) which allows loading from an ID in one line of code.
- Fix validation unit test: if Food.cs is updated by Builder, do not overwrite validation
- Add option AddOrderAttribute To DataContract Info in BizBlox Builder.
- addWhereLikeConcatenatedColumns method to SqlBuilder as a lightweight alternative to the existing SearchBuilder method
- addTriStateAndWhere method to SqlBuilder to add built-in TriState filtering on a column.
- GetPrimaryKeyIDs() method added to DOCollection, to allow retrieving primary keys without loading objects.
Filed under: pixolut
January 21, 2010 • 9:20 am 0
by Stephen Trembath
Just a quick summary of the DOCollection methods and how they work at the query level.
I will add to documentation eventually once I refine this a bit more, and maybe reduce the number of methods:
Take for example a CustomerCollection, comprised of Customer DataObjects. For the below examples the query will find customers with FirstName=Stephen
SetCurrentQuery
Simply sets a SqlBuilder as the query to run on the DOCollection – does not actually run any SQL.
To run the query you have to use one of the below methods. If you do not run any of the below methods, and try to access DataObjects within the collection, it will default to running the Find() method.
Find
For the current query, selects all IDs:
e.g. SELECT CustomerID FROM Customer WHERE FirstName=’Stephen’
Only when the actual Customer objects are accessed is the DataObject loaded via a new SQL query:
e.g. if you do custColl(0) it will run: SELECT Customer.* FROM Customer WHERE CustomerID = ‘……’
Iterating through a large collection, can result in a lot of queries – i.e. one to select all IDs, and one to select details of each DataObject you access.
Fetch
Retrieves all data for all matching rows in the query:
e.g. SELECT Customer.* FROM Customer WHERE FirstName=’Stephen’
This returns more data, but there is no need for follow-up queries to retrieve customer information.
FindAll
Works like a Find, but disregards the current query, and instead finds all matching IDs within the table
e.g. SELECT Customer.CustomerID FROM Customer
Should be used sparingly.
FetchAll
Works like a Fetch, but disregards the current query, and instead finds all matching IDs within the table
e.g. SELECT Customer.* FROM Customer
Should be used sparingly.
Count
If the DOCollection has been populated by a Find/Fetch etc, this will just return the number of rows from the collection itself.
If the DOCOllection has not been populated, this will do a SELECT Count(*) FROM Customer
FindRange
Returns a subset of the rows retrieved by the query. e.g. custColl.FindRange(50, 99) will skip the first 50 rows and return the following 50.
It does this by finding all IDs that match the query, while using a SELECT TOP to minimize the upper range
(e.g. SELECT TOP 100 CustomerID FROM Customer WHERE FirstName=’Stephen’)
It then manually removes in code the IDs that are not needed, e.g. the first 50 IDs in this case.
After that, accessing each DataObject will result in a SELECT Customer.* FROM Customer WHERE CustomerID = ‘……’ type query.
FetchRange
Similar to FindRange() except that it does a SELECT(*) to retrieve all data, e.g. custColl.FetchRange(50, 99) will skip the first 50 rows and return the following 50.
(e.g. SELECT TOP 100 Customer.* FROM Customer WHERE FirstName=’Stephen’)
It then manually removes in code the DataObjects that are not needed, e.g. the first 50 DataObjects in this case.
Generally not recommended.
FetchSelected
This is a new method that is still under development for general use, and needs to be defined better. It is best used where performance is crucial, and where the query is not overly complex.
It is similar to FindRange but uses SQL Server 2005′s built-in paging for efficiency, using the ROW_NUMBER function:
http://www.davidhayden.com/blog/dave/archive/2005/12/30/2652.aspx
It also only selects the columns explicitly entered in the SqlBuilder (you can still add a SELECT *)
However, with that comes a greater chance for limitations in queries, and should only be used for now where fullt tested.
The ROW_NUMBER function will only return from the database the actual rows that are required, and there is no need for manual removal in code.
e.g. Case 1:
Dim mySql as New SqlBuilder(“Customer”)
mySql.addSelect(Customer.
custColl.FetchSelected(50, 99)
The query will be similar to the following, but using the ROW_NUMBER syntax to retrieve the desired rows:
SELECT Customer.CustomerID, Customer.FirstName, Customer.LastName FROM Customer WHERE Customer.FirstName=’Stephen’
e.g. Case 2:
Dim mySql as New SqlBuilder(“Customer”)
mySql.addSelectAll()
mysql.addWhere(Customer.Columns.FirstName, ‘Stephen’)
custColl.FetchSelected(50, 99)
The query will be similar to the following, but using the ROW_NUMBER syntax:
SELECT * FROM Customer WHERE Customer.FirstName=’Stephen’
Filed under: agile development, BizBlox, Open Source, Software Development
January 6, 2010 • 9:25 am 0
Spiral Digital is the most prolific Facebook applications developer in Asia Pacific.
We are looking for a talented Developer to work with a fantastic growing team and develop their skills in social media using .Net techologies whilst working with global brands and agencies in Australia and across Asia.
The Developer’s primary responsibility is to work with the Designer and Producer with direction and mentorship from the Director of Technology writing code solutions against specifications supplied supplied by the Producer.
On top of regular development work, you get time to experiment and research as well as contribute to open source projects.
You will be working with a team of other excellent developers and you will be provided mentoring opportunities and training as well as learning industry best practices.
We really want people who want to learn as an ongoing process and love to write code – we don’t expect you to have huge amounts of Facebook experience, we would rather you just be yourself, learn as you go and be part of our team.
Working at Spiral Digital you will be in a very casual environment in our lab located in Sydney’s south. Definitely no suits or ties necessary. Its near the beach and we encourage a life/work balance – so you can take time to enjoy it… There is no peak hour traffic ever, its just a short walk to the train station and there is free all day parking too. On average its a 30 minute commute from the city.
SUBMISSION GUIDELINES Please provide a concise resume in .DOC or .PDF format. Ensure your resume has evidence of education history and skills. To be eligible to apply for this position you must have an appropriate Australian or New Zealand work visa.
Applications should be sent to jobs@pixolut.com
Filed under: Jobs, pixolut, Software Development
January 4, 2010 • 3:04 pm 0
Spiral Digital is the most prolific Facebook applications developer in Asia Pacific and we’re growing.
We are looking for a talented Producer with strong experience in digital to work with a fantastic team.
Develop your skills in social media whilst working with global brands and agencies in Australia and across Asia.
As Producer you maintain direct, hands-on responsibility for the execution of day-to-day activities on project engagements. You have a passion for getting things done.
Your primary responsibility will be to align strategy/creative with executional capabilities. You will assist the development of project scope and definition materials including statements of work, functional specifications, wire frames, timelines, estimates and budgets.
You will coordinate with project partners and with other disciplines to develop, support and maintain process and a efficient project workflow. You will participate in creative and strategic concepting, bringing their expertise to bare in envisioning exceptional interactive solutions.
Working at Spiral Digital you will be required to work in a couple of locations to manage all of the projects and resources. There is the hip Surry Hills warehouse and our lab located in Sydney’s south. We encourage a life/work balance – so you can take time to enjoy it…
Core Responsibilities:
Assist in development of project scope and definition materials
Maintain, track and report on the status of individual projects and resource utilisation
Coordinate with team, client and other stakeholders on project development issues
Participate in team status meetings and scheduling updates
Assist in management of the financial and timing forecasts for the projects
Oversee multiple projects
Manage project timelines insuring quality delivery
Participate in creative and strategic concepting for projects
Responsible for managing regulatory submission process of all agency developed materials as needed
SUBMISSION GUIDELINES Please provide a concise resume in .DOC or .PDF format. Ensure your resume has evidence of education history and skills. To be eligible to apply for this position you must have an appropriate Australian or New Zealand work visa.
Applications should be sent to jobs@pixolut.com
August 31, 2009 • 3:03 pm 0
Filed under: Industry Opinion
August 11, 2009 • 2:41 pm 0
Leading Remote Computer Service Company Recognized as one of the Fastest Growing Companies in Utah
Lindon, UT (PRWEB) July 22, 2009 — iTOK announced today that they have received the Utah Valley Entrepreneurial Forum’s “Top 25 Under Five” award. The “Top 25 Under Five” award recognizes the 25 fastest growing companies in the region that have been in business less than 5 years.
“iTOK is the leader in remote technical support because we focused on our core business,” said Seth Bailey, iTOK’s co-founder & CEO. “Our first goal was to get our service model right so we could grow profitably. Now we can scale to meet the needs of our large, national customers.”
The founders started iTOK in late 2004 to provide remote computer help and maintenance to customers at their homes or home offices right through the Internet. Their flagship PC Care membership service provides quarterly maintenance to keep computers running smooth and clean, giving their members peace of mind. iTOK services their members directly or through partnerships with some of the largest Internet service providers in the nation.
“This is a tough economic climate for all businesses, right now, especially start-ups,” said UVEF 2009 chairman Roger Andrus. “These Top 25 winners overcame great odds by growing their revenues and creating jobs. They represent the spirit of entrepreneurship that will serve this state well.”
About iTOK:
iTOK is the leading provider of US-based remote technical support for home and home-based business computers. Since 2004, iTOK has been building a team of trained, fluent English-speaking support representatives based in Utah that eliminates the frustration of working with the cheaper foreign-based computer service companies. With the click of a mouse, a user can immediately connect with a service representative, get help on a technical problem and schedule routine maintenance, all while working with someone who knows their computer, their issue history and their language. iTOK provides service to thousands of customers directly and through major broadband service providers.
For more information about iTOK, please visit www.itokhelp.com.
Filed under: Industry Opinion, iTOK
July 22, 2009 • 3:04 pm 0
At Pixolüt Industries we write software. We do it for fortune 500 corporations and seedling start-ups in Australia, Europe and the United States. We primarily develop interactive web based applications for global advertising clients. A lot of our projects are bleeding edge applications on Facebook and other social platforms. Every day is a new adventure!
We need a very bright and motivated developer for a full time role. You get to work on some of our key projects – you get to learn and use cutting edge technologies in your day to day role.
On top of your regular development you get time to experiment and research as well as contribute to open source projects. You will be working with a team of excellent developers and you will be provided mentoring opportunities and training as well as learn industry best practices. We really want people who want to learn as an ongoing process and love to write code – we don’t expect you to have huge amounts of .Net experience, we would rather you just be yourself, learn as you go and be part of our team.
Working at Pixolüt you will be in a very casual environment in our lab located in Sydney’s south. Definitely no suits or ties necessary. Its near the beach and we encourage a life/work balance – so you can take time to enjoy it… There is no peak hour traffic ever, its just a short walk to the train station and there is free all day parking too. On average its a 30 minute commute from the city.
SUBMISSION GUIDELINES Please provide a concise resume in .DOC or .PDF format. Ensure your resume has evidence of education history and skills. To be eligible to apply for this position you must have an appropriate Australian or New Zealand work visa.
Applications should be sent to jobs@pixolut.com
July 10, 2009 • 3:59 pm 0
The latest update to BizBlox has been released today. This update has fixes for unicode support and a small issue with transaction management.
Get the latest release from http://www.pixolut.com/bizblox
Filed under: BizBlox, Open Source, Software Development
May 25, 2009 • 7:46 pm 2
By Stephen Trembath
Just a quick example of using jquery to submit form data without a postback which may (or may not!) be of interest…
It is useful in this case because the page is very big (the page to process a lead/ticket), and we want to avoid doing post-backs wherever possible. It finds all elements in the pnlChecklist panel which have an attribute named ‘metaid’, e.g. <asp:DropdownList runat=”Server” metaid=”Spyware risk” />. It submits the data as a serialized string (metaid1=value1&metaid2=value2) to a very basic code-behind page, which splits and saves the data, and then returns a script for evaluation on the client-side. It’s pretty heavily snipped to make it a little clearer.
Client-side:
<a href="javascript:;" onclick="DoAudit();">Send System Audit to Customer</a>
function DoAudit() {
var id = $('#<%=Me.hiddenSupportRequestID.ClientID%>').val();
var serialized = '';
$('#<%=Me.pnlChecklist.ClientID%> [metaid]').each(
function() {
var attrib = $(this).attr("metaid");
serialized += attrib + "=" + $(this).val() + "&";
}
);
$.get(ajaxUrl, { method: 'getaudit', supportrequestid: id, data: serialized }, function(data) {
// Handle the response
eval(data);
});
return false;
}
Server-side:
SecureSession.ValidateOrRedirect()
Select Case Request.QueryString("method")
Case "getaudit"
Dim data As String = Request.Params.Get("data")
Dim htData As Hashtable = AjaxUtils.SplitSerializedPostData(data)
......
End Select
Dim script As String = "alert('Test');"
Response.Write(script)
End Select
Filed under: iTOK