Very cool example:
Before you dismiss this as yet another boring matrix multiplication example, consider that this, this, this and a lot of other tutorials on the web all use a naive version of matrix multiplication and then attempt to parallelize that version of it to demonstrate how to speed things up using some technology.
Tuesday, December 15, 2009
Monday, December 14, 2009
Friday, December 4, 2009
GPU mode support on Macintosh OSX 10.6
Main reason Flash is slow sometimes in new version of Macosx:
http://kb2.adobe.com/cps/498/cpsid_49832.html
http://kb2.adobe.com/cps/498/cpsid_49832.html
Sunday, November 29, 2009
Mathematicians Prove Tetris Is Tough
No wonder I never really liked Tetris LOL!
I figured it was a hard game but Minesweeper is NP-hard too and I like to play that though?
Mathematicians Prove Tetris Is Tough
I figured it was a hard game but Minesweeper is NP-hard too and I like to play that though?
Mathematicians Prove Tetris Is Tough
Friday, November 27, 2009
Apple job of the day
Web Developer, iPhone/iPod Touch
Requirements:
• 4 year computer science/software engineering degree or equivalent work experience.
• Professional web application development experience.
• Experience with Ruby, PHP and JavaScript.
• Experience designing and implementing browser-based user interfaces using AJAX, ReST, and/or JSON.
• Relational Database experience with one of the following: SQLite, MySQL, Postgres or Oracle.
• Experience with Unix shell scripting (bash/sh/csh).
• Mac OS X & iPhone development (Objective-C) experience is a plus.
Requirements:
• 4 year computer science/software engineering degree or equivalent work experience.
• Professional web application development experience.
• Experience with Ruby, PHP and JavaScript.
• Experience designing and implementing browser-based user interfaces using AJAX, ReST, and/or JSON.
• Relational Database experience with one of the following: SQLite, MySQL, Postgres or Oracle.
• Experience with Unix shell scripting (bash/sh/csh).
• Mac OS X & iPhone development (Objective-C) experience is a plus.
Wednesday, November 18, 2009
Wednesday, November 11, 2009
Google's Go
Big news for developers out there: Google has just announced the release of a new, open sourced programming language called Go. The company says that Go is experimental, and that it combines the performance and security benefits associated with using a compiled language like C++ with the speed of a dynamic language like Python. Go’s official mascot is Gordon the gopher, seen here.
Sounds cool but they need a Windows version since it seems to be Linux and Mac only for the moment.
Sounds cool but they need a Windows version since it seems to be Linux and Mac only for the moment.
Monday, November 9, 2009
Wednesday, November 4, 2009
13 Tools for Building Your Own iPhone App
If you don't want to go to all the trouble of learning Objective-C here's some alternatives:
These days, everyone wants to build their own iPhone applications, but not everyone knows how write the code necessary in order to create them. Fortunately, there are now a number of tools that allow non-developers the ability to create their own iPhone apps without knowing programming or scripting.
These days, everyone wants to build their own iPhone applications, but not everyone knows how write the code necessary in order to create them. Fortunately, there are now a number of tools that allow non-developers the ability to create their own iPhone apps without knowing programming or scripting.
Tuesday, November 3, 2009
Monday, November 2, 2009
What Every Computer Scientist Should Know About Floating-Point Arithmetic
This was probably one of the most difficult concepts in my Computer Architecture class so I'm not suprised there is some confusion:
Floating-point arithmetic is considered an esoteric subject by many people. This is rather surprising because floating-point is ubiquitous in computer systems. Almost every language has a floating-point datatype; computers from PCs to supercomputers have floating-point accelerators; most compilers will be called upon to compile floating-point algorithms from time to time; and virtually every operating system must respond to floating-point exceptions such as overflow. This paper presents a tutorial on those aspects of floating-point that have a direct impact on designers of computer systems. It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating-point standard, and concludes with numerous examples of how computer builders can better support floating-point.
Floating-point arithmetic is considered an esoteric subject by many people. This is rather surprising because floating-point is ubiquitous in computer systems. Almost every language has a floating-point datatype; computers from PCs to supercomputers have floating-point accelerators; most compilers will be called upon to compile floating-point algorithms from time to time; and virtually every operating system must respond to floating-point exceptions such as overflow. This paper presents a tutorial on those aspects of floating-point that have a direct impact on designers of computer systems. It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating-point standard, and concludes with numerous examples of how computer builders can better support floating-point.
Sunday, November 1, 2009
Saturday, October 31, 2009
Tuesday, October 27, 2009
Thursday, October 22, 2009
Tuesday, October 20, 2009
FreeBSD adds support for Snow Leopard's Grand Central Dispatch
This is big news.
Now it's the developers turn to take advantage of it.
Apple's Grand Central Dispatch technology, which debuted in Snow Leopard as a mechanism for optimizing parallelism across multiple cores and processors, has now been ported to FreeBSD.
Now it's the developers turn to take advantage of it.
Apple's Grand Central Dispatch technology, which debuted in Snow Leopard as a mechanism for optimizing parallelism across multiple cores and processors, has now been ported to FreeBSD.
Sunday, October 18, 2009
Beginner Developer Learning Center
Microsoft's actually got a lot of useful video's here if you got time to go through them.
Too bad they force you to use Silverlight to watch them though:(
Too bad they force you to use Silverlight to watch them though:(
Saturday, October 17, 2009
Difference between a computer scientist and a programmer?
Duct Tape Programmers and the Culture of Complexity in Software Projects
I guess a progammer employed by a company or himself actually has to ship a program in a reasonable time period vs a computer scientist like Knuth can spend years figuring something out and perfecting it before showing it to the world.
I guess a progammer employed by a company or himself actually has to ship a program in a reasonable time period vs a computer scientist like Knuth can spend years figuring something out and perfecting it before showing it to the world.
How Win7's "Boot to VHD" Feature has Changed the Way I Work
Might come in handy. Will have to try it.
Boot to VHD.
Boot to VHD.
Why Johnny can't code
Food for thought.
BASIC used to be on every computer a child touched -- but today there's no easy way for kids to get hooked on programming.
Yeah wasn't it burned into the ROM or something I thought?
BASIC used to be on every computer a child touched -- but today there's no easy way for kids to get hooked on programming.
Yeah wasn't it burned into the ROM or something I thought?
Thursday, October 15, 2009
Wednesday, October 14, 2009
Saturday, October 10, 2009
Sunday, October 4, 2009
Problems with SQL Server Express user instancing and ASP.net Web Application Projects
Some critical info to know for Windows web developers.
Microsoft recommends that the workarounds described in this article only be used to unblock affected development scenarios. When deploying applications into production on any version of IIS, SQL Server Express user instances should not be used.
The configuration of application pools on IIS 7.5 production web servers should use either the new application pool identity, or custom created user accounts. Application pools on IIS 7.5 production web servers should no longer run as NETWORK SERVICE.
The workaround described for working with WAP projects and websites located in a user's Documents folder should be used as a temporary workaround only. From a security standpoint it is not desirable for NETWORK SERVICE to have read access to all of the sub-folders within the Visual Studio Projects folder. The recommendation is to move IIS-hosted WAP projects and websites to a different file location that is normally accessible to an IIS service account (e.g. under c:\inetpub\wwwroot).
Microsoft recommends that the workarounds described in this article only be used to unblock affected development scenarios. When deploying applications into production on any version of IIS, SQL Server Express user instances should not be used.
The configuration of application pools on IIS 7.5 production web servers should use either the new application pool identity, or custom created user accounts. Application pools on IIS 7.5 production web servers should no longer run as NETWORK SERVICE.
The workaround described for working with WAP projects and websites located in a user's Documents folder should be used as a temporary workaround only. From a security standpoint it is not desirable for NETWORK SERVICE to have read access to all of the sub-folders within the Visual Studio Projects folder. The recommendation is to move IIS-hosted WAP projects and websites to a different file location that is normally accessible to an IIS service account (e.g. under c:\inetpub\wwwroot).
Saturday, October 3, 2009
Friday, October 2, 2009
fgwlib working on macosx snow leopard
Okay I finally got this library from "You can do it" programming book working on my mac!!!
This is how I did it.
I modified the make file that was included on the cd for Linux slightly.
After that created the libfgw.a static library I testd it out on the cross program that creates a cross in playpen by typing:
g++ -c cross.cpp -o cross.o
then
most important and complex commandline!
g++ -o cross cross.o libfgw.a -L/usr/X11R6/lib -lX11
after that just type
./cross to see X11 pop up running a cross i macosx snow leopard!
anyways here is the modified makefile. only change really is adding an all to actually make it build the static library. Don't know why the original was missing it?
CC = g++
AR = ar
DEL = rm
OBJ_DIR = ./
OUTPUT_DIR = ./
OUTPUTFILE = libfgw.a
C_INCLUDE_DIRS =
C_PREPROC =
CFLAGS = -pipe -Wall -g0 -O2 -frtti -fexceptions
RC_INCLUDE_DIRS =
RC_PREPROC =
RCFLAGS =
ARFLAGS = rcs
NULL = nul
SRC_OBJS = \
$(OBJ_DIR)/adler32.o \
$(OBJ_DIR)/deflate.o \
$(OBJ_DIR)/flood_fill.o \
$(OBJ_DIR)/infblock.o \
$(OBJ_DIR)/infcodes.o \
$(OBJ_DIR)/inffast.o \
$(OBJ_DIR)/inflate.o \
$(OBJ_DIR)/inftrees.o \
$(OBJ_DIR)/infutil.o \
$(OBJ_DIR)/line_drawing.o \
$(OBJ_DIR)/minipng.o \
$(OBJ_DIR)/playpen.o \
$(OBJ_DIR)/point2d.o \
$(OBJ_DIR)/point2dx.o \
$(OBJ_DIR)/shape.o \
$(OBJ_DIR)/trees.o \
$(OBJ_DIR)/zutil.o
define build_target
@echo Creating library...
@$(AR) $(ARFLAGS) "$(OUTPUT_DIR)/$(OUTPUTFILE)" $(SRC_OBJS)
endef
define compile_source
@echo Compiling $<
@$(CC) $(CFLAGS) $(C_PREPROC) $(C_INCLUDE_DIRS) -c "$<" -o "$@"
endef
.PHONY: print_header directories
all: $(SRC_OBJS)
$(build_target)
.PHONY: clean cleanall
cleanall:
@echo Deleting intermediate files for 'build_fgw - $(CFG)'
-@$(DEL) $(OBJ_DIR)/*.o
-@$(DEL) "$(OUTPUT_DIR)/$(TARGET)"
-@rmdir "$(OUTPUT_DIR)"
clean:
@echo Deleting intermediate files for 'build_fgw - $(CFG)'
-@$(DEL) $(OBJ_DIR)/*.o
print_header:
@echo ----------Configuration: build_fgw - $(CFG)----------
directories:
-@if [ ! -d $(OUTPUT_DIR) ]; then mkdir $(OUTPUT_DIR); fi
-@if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
$(OBJ_DIR)/adler32.o: adler32.c \
zlib.h
$(compile_source)
$(OBJ_DIR)/deflate.o: deflate.c \
deflate.h
$(compile_source)
$(OBJ_DIR)/flood_fill.o: flood_fill.cpp \
playpen.h
$(compile_source)
$(OBJ_DIR)/infblock.o: infblock.c \
zutil.h \
infblock.h \
inftrees.h \
infcodes.h \
infutil.h
$(compile_source)
$(OBJ_DIR)/infcodes.o: infcodes.c \
zutil.h \
inftrees.h \
infblock.h \
infcodes.h \
infutil.h \
inffast.h
$(compile_source)
$(OBJ_DIR)/inffast.o: inffast.c \
zutil.h \
inftrees.h \
infblock.h \
infcodes.h \
infutil.h \
inffast.h
$(compile_source)
$(OBJ_DIR)/inflate.o: inflate.c \
zutil.h \
infblock.h
$(compile_source)
$(OBJ_DIR)/inftrees.o: inftrees.c \
zutil.h \
inftrees.h \
inffixed.h
$(compile_source)
$(OBJ_DIR)/infutil.o: infutil.c \
zutil.h \
infblock.h \
inftrees.h \
infcodes.h \
infutil.h
$(compile_source)
$(OBJ_DIR)/line_drawing.o: line_drawing.cpp \
line_drawing.h
$(compile_source)
$(OBJ_DIR)/minipng.o: minipng.cpp \
minipng.h \
zlib.h \
playpen.h
$(compile_source)
$(OBJ_DIR)/playpen.o: playpen_unix1.cpp \
playpen.h \
mouse.h \
keyboard.h
$(compile_source)
$(OBJ_DIR)/point2d.o: point2d.cpp \
fgw_text.h \
point2d.h
$(compile_source)
$(OBJ_DIR)/point2dx.o: point2dx.cpp \
point2dx.h
$(compile_source)
$(OBJ_DIR)/shape.o: shape.cpp \
flood_fill.h \
line_drawing.h \
point2dx.h \
shape.h
$(compile_source)
$(OBJ_DIR)/trees.o: trees.c \
deflate.h \
trees.h
$(compile_source)
$(OBJ_DIR)/zutil.o: zutil.c \
zutil.h
$(compile_source)
This is how I did it.
I modified the make file that was included on the cd for Linux slightly.
After that created the libfgw.a static library I testd it out on the cross program that creates a cross in playpen by typing:
g++ -c cross.cpp -o cross.o
then
most important and complex commandline!
g++ -o cross cross.o libfgw.a -L/usr/X11R6/lib -lX11
after that just type
./cross to see X11 pop up running a cross i macosx snow leopard!
anyways here is the modified makefile. only change really is adding an all to actually make it build the static library. Don't know why the original was missing it?
CC = g++
AR = ar
DEL = rm
OBJ_DIR = ./
OUTPUT_DIR = ./
OUTPUTFILE = libfgw.a
C_INCLUDE_DIRS =
C_PREPROC =
CFLAGS = -pipe -Wall -g0 -O2 -frtti -fexceptions
RC_INCLUDE_DIRS =
RC_PREPROC =
RCFLAGS =
ARFLAGS = rcs
NULL = nul
SRC_OBJS = \
$(OBJ_DIR)/adler32.o \
$(OBJ_DIR)/deflate.o \
$(OBJ_DIR)/flood_fill.o \
$(OBJ_DIR)/infblock.o \
$(OBJ_DIR)/infcodes.o \
$(OBJ_DIR)/inffast.o \
$(OBJ_DIR)/inflate.o \
$(OBJ_DIR)/inftrees.o \
$(OBJ_DIR)/infutil.o \
$(OBJ_DIR)/line_drawing.o \
$(OBJ_DIR)/minipng.o \
$(OBJ_DIR)/playpen.o \
$(OBJ_DIR)/point2d.o \
$(OBJ_DIR)/point2dx.o \
$(OBJ_DIR)/shape.o \
$(OBJ_DIR)/trees.o \
$(OBJ_DIR)/zutil.o
define build_target
@echo Creating library...
@$(AR) $(ARFLAGS) "$(OUTPUT_DIR)/$(OUTPUTFILE)" $(SRC_OBJS)
endef
define compile_source
@echo Compiling $<
@$(CC) $(CFLAGS) $(C_PREPROC) $(C_INCLUDE_DIRS) -c "$<" -o "$@"
endef
.PHONY: print_header directories
all: $(SRC_OBJS)
$(build_target)
.PHONY: clean cleanall
cleanall:
@echo Deleting intermediate files for 'build_fgw - $(CFG)'
-@$(DEL) $(OBJ_DIR)/*.o
-@$(DEL) "$(OUTPUT_DIR)/$(TARGET)"
-@rmdir "$(OUTPUT_DIR)"
clean:
@echo Deleting intermediate files for 'build_fgw - $(CFG)'
-@$(DEL) $(OBJ_DIR)/*.o
print_header:
@echo ----------Configuration: build_fgw - $(CFG)----------
directories:
-@if [ ! -d $(OUTPUT_DIR) ]; then mkdir $(OUTPUT_DIR); fi
-@if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
$(OBJ_DIR)/adler32.o: adler32.c \
zlib.h
$(compile_source)
$(OBJ_DIR)/deflate.o: deflate.c \
deflate.h
$(compile_source)
$(OBJ_DIR)/flood_fill.o: flood_fill.cpp \
playpen.h
$(compile_source)
$(OBJ_DIR)/infblock.o: infblock.c \
zutil.h \
infblock.h \
inftrees.h \
infcodes.h \
infutil.h
$(compile_source)
$(OBJ_DIR)/infcodes.o: infcodes.c \
zutil.h \
inftrees.h \
infblock.h \
infcodes.h \
infutil.h \
inffast.h
$(compile_source)
$(OBJ_DIR)/inffast.o: inffast.c \
zutil.h \
inftrees.h \
infblock.h \
infcodes.h \
infutil.h \
inffast.h
$(compile_source)
$(OBJ_DIR)/inflate.o: inflate.c \
zutil.h \
infblock.h
$(compile_source)
$(OBJ_DIR)/inftrees.o: inftrees.c \
zutil.h \
inftrees.h \
inffixed.h
$(compile_source)
$(OBJ_DIR)/infutil.o: infutil.c \
zutil.h \
infblock.h \
inftrees.h \
infcodes.h \
infutil.h
$(compile_source)
$(OBJ_DIR)/line_drawing.o: line_drawing.cpp \
line_drawing.h
$(compile_source)
$(OBJ_DIR)/minipng.o: minipng.cpp \
minipng.h \
zlib.h \
playpen.h
$(compile_source)
$(OBJ_DIR)/playpen.o: playpen_unix1.cpp \
playpen.h \
mouse.h \
keyboard.h
$(compile_source)
$(OBJ_DIR)/point2d.o: point2d.cpp \
fgw_text.h \
point2d.h
$(compile_source)
$(OBJ_DIR)/point2dx.o: point2dx.cpp \
point2dx.h
$(compile_source)
$(OBJ_DIR)/shape.o: shape.cpp \
flood_fill.h \
line_drawing.h \
point2dx.h \
shape.h
$(compile_source)
$(OBJ_DIR)/trees.o: trees.c \
deflate.h \
trees.h
$(compile_source)
$(OBJ_DIR)/zutil.o: zutil.c \
zutil.h
$(compile_source)
Saturday, September 26, 2009
Microsoft is really trying to hold on to developers
Seems like Microsoft is trying to get back some of the progammers that switched to PHP or Ruby:
Announcing the WebsiteSpark Program
What does the program provide?
WebSiteSpark provides software licenses that you can use for three years at no cost. Once enrolled, you can download and immediately use the following software from Microsoft:
* 3 licenses of Visual Studio 2008 Professional Edition
* 1 license of Expression Studio 3 (which includes Expression Blend, Sketchflow, and Web)
* 2 licenses of Expression Web 3
* 4 processor licenses of Windows Web Server 2008 R2
* 4 processor licenses of SQL Server 2008 Web Edition
* DotNetPanel control panel (enabling easy remote/hosted management of your servers)
As long as your company has less than 10 employees it looks like you could get a lot of free software.
Announcing the WebsiteSpark Program
What does the program provide?
WebSiteSpark provides software licenses that you can use for three years at no cost. Once enrolled, you can download and immediately use the following software from Microsoft:
* 3 licenses of Visual Studio 2008 Professional Edition
* 1 license of Expression Studio 3 (which includes Expression Blend, Sketchflow, and Web)
* 2 licenses of Expression Web 3
* 4 processor licenses of Windows Web Server 2008 R2
* 4 processor licenses of SQL Server 2008 Web Edition
* DotNetPanel control panel (enabling easy remote/hosted management of your servers)
As long as your company has less than 10 employees it looks like you could get a lot of free software.
Monday, September 7, 2009
Microsoft Visual Express C++
Here's a link to the Microsoft video that shows you how to create and run a simple console C++ program:
http://msdn.microsoft.com/en-us/beginner/bb964629.aspx
Has a good tutorial on using the debugger too.
http://msdn.microsoft.com/en-us/beginner/bb964629.aspx
Has a good tutorial on using the debugger too.
Sunday, September 6, 2009
Subscribe to:
Posts (Atom)