27 June 2012

Sieve of Eratosthenes


TODO: hay un bug en el codigo, probar lo nuevo en cc65.. la version de action ta mala :(

Sieve of Eratosthenes o la Criba de Eratóstenes

Byte: http://www.xgc.com/benchmarks/sieve_c.htm

TODO: revisar: probar: http://www.atarimagazines.com/v7n7/SuperSieve.html

FIRST ST PERFORMANCE TEST
http://www.atarimagazines.com/v4n6/STperformancetest.html
ComputerOperating SystemLanguageRun Time (Sec.)
68000 Atari 520STTOSC Digital CP/M 68K3.8
68000 Apple Macintosh-C Manx7
68000 Apple Macintosh-C Hippo L213
Z8001 5.5 MHZUnixC1.97
Z8000 Z-LabZeus UnixC4.8
Z80CP/MDigital Basic15.7
Z80CP/MMicroSoft COBOL5115
6502 Atari 800OS Rev.BACTION! display off:
display on:
12.2
17.9
6502 Atari 800OS Rev.BBASIC389
6502 Atari 800OS Rev.BBASIC XL214
ADVAN COMPILER BASIC
http://www.atarimagazines.com/v4n12/Compiler.html
Advan BASIC is filled with shortcuts like this. By the way, it ran my version of the Sieve of Eratosthenes in 13.8 seconds. The MMG compiler took 9 seconds, BASIC XL took 67 seconds and Atari BASIC hasn't finished yet. If that isn't fast enough, you can rewrite key routines in assembly language from within BASIC. Advan BASIC recognizes assembler mnemonics almost as if they were BASIC keywords. Not only is this great for people who know assembly language, but it can be a teriffic learning environment too.

ADVAN OPTIMIZER
http://www.atarimagazines.com/v6n2/BASICBonanza.html
Advan BASIC was already pretty fast. Now it's the fastest BASIC in Atari history. In our Sieve Benchmark, the Advan Optimizing Compiler is about four times faster than the MMG Compiler, six times faster than regular Advan, 20 times faster than compiled Turbo-BASIC XL and 120 times faster than uncompiled Atari BASIC. In fact, it's more than half the speed of ACTION!- that's getting real close to pure assembly language.

Lights, Camera, ACTION!
http://www.atarimagazines.com/hi-res/v1n4/action.php

LanguageCompile
Time
Object
Code
Run
Time
BASIC
FORTH
Action!
C (Z-80)
---
3 sec
< 1 sec 132 sec
443
114
423
290
3140 secs
168 secs
18 secs
14 secs



KYAN PASCAL
http://www.atarimagazines.com/v4n7/kyanpascal.html
The resulting object file has a very rapid run-time. Ten iterations of the Eratosthenes Prime Number Sieve (see "First ST Performance Test," Antic, October 1985) ran in about 120 seconds with the screen on. With the screen off, the same program ran in just 80 seconds.

http://devweb.cl/atari/cc65/sieve_gg.c
http://devweb.cl/atari/cc65/sieve_gg.xex



PD: post pendiente desde 2009 :S

22 June 2012

Eclipse M2: requires 'bundle org.hamcrest 0.0.0' but it could not be found

When trying to install M2 plugin to Helios the following error was thrown:
Cannot complete the install because one or more required items could not be found.
  Software being installed: m2e - Maven Integration for Eclipse Update Site 1.0.100.20110804-1717 (org.eclipse.m2e.site.feature.group 1.0.100.20110804-1717)
  Missing requirement: Maven Integration Tests Plug-in 1.0.100.20110804-1717 (org.eclipse.m2e.integration.tests.common 1.0.100.20110804-1717) requires 'bundle org.hamcrest 0.0.0' but it could not be found
  Cannot satisfy dependency:
    From: m2e - Extensions Development Support (Optional) 1.0.100.20110804-1717 (org.eclipse.m2e.sdk.feature.feature.group 1.0.100.20110804-1717)
    To: org.eclipse.m2e.integration.tests.common [1.0.100.20110804-1717]
  Cannot satisfy dependency:
    From: m2e - Maven Integration for Eclipse Update Site 1.0.100.20110804-1717 (org.eclipse.m2e.site.feature.group 1.0.100.20110804-1717)
    To: org.eclipse.m2e.sdk.feature.feature.group [1.0.100.20110804-1717]


The quick solution is:

unselecting the M2Eclipse Extensions Development Support (Optional) and Maven Integration for Eclipse Update site items let me get through the install process..



from

http://dev.eclipse.org/mhonarc/lists/m2e-dev/msg00189.html

13 May 2012

Project Euler: Problem 54

After 798 lines of code, I was able to solve... I thin it took me too much effort and line of codes... there are a couple method I may factor, however it doesn't worth it; I got the correct answer and I move to the next problem.

It seems the problems that are based on real one, and kind of easy to do, but take more time than usual:

Problem 54: Poker
Problem 84: Monopoly
Problem 96: Sudoku
Problem 109: Darts
Problem 185: Mastermind

Even more, these can be calculated with pencil & paper.

11 May 2012

Filtering Classloading Failing With "ServletException: Servlet class: does not implement javax.servlet.Servlet"


In Oracle Weblogic Server 12.1.1.0

Symptoms

When having a POJO with @WebService annotation and the following is been thrown by WLS:

javax.servlet.ServletException: Servlet class: 'TestWS' does not implement javax.servlet.Servlet
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:292)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:250)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:94)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:82)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:74)
at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:60)
at weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:34)
at weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:638)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:579)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1874)
at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1848)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1738)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2740)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1704)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:781)
...


Cause

This occurs when classloading filtering is being used for the packages java.* or javax.*

Although this was common in 10.3.x, this is no longer supported since 12.1.1

i.e.:

<prefer-application-packages>
<package-name>javax.jws.*</package-name>
<package-name>javax.xml.ws.*</package-name>
<package-name>javax.annotation.*</package-name>
</prefer-application-packages>

Solution

remove the following tags from weblogic-application.xml and redeploy the application again:

i.e.:

<package-name>javax.jws.*</package-name>
<package-name>javax.xml.ws.*</package-name>
<package-name>javax.annotation.*</package-name>
 
References

http://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#i1097253

10 May 2012

WebLogic Startup Mode: DEV v/s PROD

It is known that several features changes between development or production startup mode on WebLogic Server.

There is an interesting post at Frank Munz blog about it.

Until now, I have suggested about resource-reload-check-secs, webservice test client & CAT.

Probably still there are some features missing, so everybody is invited to comment.

28 April 2012

TopCoder book: cancelled

Unfortunately I have read that TopCoder book was cancelled.

This is from Oreilly's website: http://shop.oreilly.com/product/9780596802707.do

This product has been canceled.



I hope this project will be finished sometime.




UPDATE:


from TopCoder forum:


It is canceled as O'Reilly project; we're keeping the contents and the format and we're working on publishing it ourselves in electronic form.



26 April 2012

WLS: when recompiling EJB with new XSD from DDConverter NestedException Message is :011113

When attempting to pre-compile a MDB with appc the following error occurs:

[java][java] <Mar 9, 2012 10:07:20 AM EST> <Info> <J2EE> <BEA-160186> <Compiling EAR module "mdb_test.jar">
[java] 011113 NestedException Message is :011113
[java] at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.(MessageDrivenBeanInfoImpl.java:739)
[java] at weblogic.ejb.container.deployer.BeanInfoFactory.createBeanInfoImpl(BeanInfoFactory.java:36)
[java] at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDeploymentInfoImpl.java:546)
[java] at weblogic.ejb.container.deployer.MBeanDeploymentInfoImpl.(MBeanDeploymentInfoImpl.java:242)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.getStandAloneDeploymentInfo(EJBCompiler.java:1030)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.setupEJB(EJBCompiler.java:131)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:370)
[java] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:336)
[java] at weblogic.ejb.tools.EJBModule.compileEJB(EJBModule.java:541)
[java] at weblogic.ejb.tools.EJBModule.compile(EJBModule.java:162)
[java] at weblogic.application.compiler.ToolsModuleWrapper.compile(ToolsModuleWrapper.java:107)
[java] at weblogic.application.compiler.flow.CompileModuleFlow.compileModules(CompileModuleFlow.java:133)
[java] at weblogic.application.compiler.flow.CompileModuleFlow.compile(CompileModuleFlow.java:59)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:27)
[java] at weblogic.application.compiler.EARCompiler.compile(EARCompiler.java:53)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:101)
[java] at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:35)
[java] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:35)
[java] at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
[java] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:27)
[java] at weblogic.application.compiler.Appc.runBody(Appc.java:203)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:158)
[java] at weblogic.utils.compiler.Tool.run(Tool.java:115)
[java] at weblogic.application.compiler.Appc.main(Appc.java:263)
[java] at weblogic.appc.main(appc.java:14)
[java] 011113


Cause
Customer has upgraded schema header Deployment Descriptor to EJB 3.1, provided by DDConverter.
however the EJB still is 2.1 therefore it is not good practice to give the 3.1 schema.

Solution
1.
Change the ejb-jar.xml Deployment Descriptor Schema to:

<ejb-jar < xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee">xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" version="2.1">

then recompile the EJB again.

2.
A similar behave has been found and solved in bug 13984579

20 April 2012

¡ Puzle !

Increiblemente vi en un libro infantil el siguiente angloamericanismo:

Asi que desde ahora seguire escribiendo: Puzle, Manayer y algún otra palabra novedosa aceptada por la RAE.

puzle.
(Del ingl. puzzle).
1. m. rompecabezas (‖ juego).



16 April 2012

WLS extensions: JRF, OWSM, etc.

WebLogic Server 10.3.6 brings bundled JRF, OWSM and other extensions that many times are necessary for integration with other technologies.

Usually was necessary to install the whole Fusion Middleware, now it is much easier for development to obtain those libraries.


15 April 2012

ImageMagick Cheat Sheet

The following commands were taken from the internet, I will give acknowledge when found:

Windows version now uses "magick" as the command:

magick vlcsnap-1280-07-14-21h45m00s867.png -crop 400x360+0+0 i1.png


magick ... # in place of `convert`
magick identify ... # in place of `identify`
magick mogrify ... # in place of `mogrify`
magick compare ... # in place of `compare`
magick compose ... # in place of `compose`


--------------------

create thumbnail:
convert -geometry 100x100 -quality 100 orgfilename.jpg thumbfilename.jpg

rotate an image:
convert orgfilename.jpg -rotate 60 rotated60.jpg

croping an image:
convert orgfilename.jpg -crop 128x128+50+50 cropped.jpg
magick filename.jpg -crop 128x128+50+50 cropped.jpg

croping an image for several files:

for file in *.png; do convert -crop 863x675+227+51 "$file" "x6/$file"; done 

convert a directory of png images to gif:
mogrify -format gif *.png
 
mogrify -format webp *.png 

watermarking with text:
convert orgfilename.jpg -font Arial -pointsize 20 -draw "gravity south fill black text 0,12 'Watermark' fill white text 1,11 'Watermark' " wmark_text_drawn.jpg

convert pdf to png
convert pdffile.pdf -colorspace RGB -resample 72×72 -units PixelsPerInch -quality 90 -resize 500×500 -size 500×500 pngfile.png


Convert jpg to pdf
convert *.jpg output.pdf
 

convert input.png PNG24:output.png

convert i00.png -crop 319x160+8+24 PNG24:r00.png

For several images to a single PDF: (yeah, not magick)

img2pdf --out z2.pdf *.png

 

Compression for PNG:

pngquant *.png

PDF too big (from jpg)
convert -quality 60 *.jpg output.pdf


Resize an image:
convert image.jpg -resize 800 image.png
(porcentaje no me funco bien)

mogrify -path xx -resize 800 *.jpg

cd to the directory where your images are located (temp) after creating a new directory to hold the changed files (say, temp2)
mogrify -path fullpathto/temp2 -resize 60x60% -quality 60 -format jpg *.png

Compare to images:
compare image1 image2 -compose src diff.png
estas imagenes pueden ser en diferente formato inclusive ! 
compare PC-200617-1248-30.pdf PC-270717-1119-53.pdf diff.pdf (pdf)
 
Append two images:

convert image1.jpg image2.jpg -append result.jpg 

To verify ImageMagick is working properly, type the following in a Windows Command Prompt window:

convert logo: logo.gif 
identify logo.gif

imdisplay


To see details of the image: (information) 

identify image.ext

identify dp1.jpg
dp1.jpg JPEG 300x374 300x374+0+0 8-bit sRGB 34082B 0.000u 0:00.009

magick identify image

magick identify -verbose r00.png

Invert colors:
convert input.png -channel RGB -negate output.png 


Black & White colors:

convert input.png -colorspace Gray output.png 

Problems with spaces and hyphens in filenames

find . -name "* *" -type f | rename 's/ /_/g'

 ---

Update 2026:

recortar multiples png con command line, seria como un rectangulo.


mkdir -p cropped

for f in *.png; do
    convert "$f" -crop 1800x960+65+95 +repage "cropped/$f"
done

 


 

Blog Archive

Disclaimer

Qux