Light is Not so Weird after all!?

Monday, 8 January 2024 by julius, 15250 views

Nor are all the other particles.

This is a reply to the YouTube Video called "Light is Weird - The 9 Experiments That Will Change Your View of Light" that I was watching one night and while not being able to sleep (as my mind was racing) started to have ideas on how all these strange things that particles do (being waves and then particles and then waves again) could be explained easily without any strange new terms or realities.

Theory

This all is just theoretic, nor do I have the knowledge nor the possibility to test them but would like to write it down maybe there is something in them that would be interesting to someone.

Before I start we should make 2 assumptions:

1. Assume every particle is just energy, for e.g. lets give Photon the energy value of 1
2. Assume there are strings that move the energies aka particles around

Now if the above is true we can simply take the energy of a particle and when we observe it will have it's full energy in one position in time (where we observe it). Once we don't care about the particle anymore (don't observe it) it will simply start to propagate on the string (like another wave on  the string itself) by slowly having it's peek energy dropping down and the rest of the energy propagating through the string farther and farther away from it's peek energy point.

So this is how it would look if we observe a photon and then "let it go" and it starts to move in space using the string:

Whenever we want to re-observer the particle, the string (when becomes observed and has any small amount of energy propagated to the location where the observing is happening) accumulates all it's energy back into the one point where the energy's peek level is at at that time in space. Like the example below:

If we take the above examples/theory and try the Double Slit Experiment it will behave exactly as the experiment shows. If we don't observe it after going through the slits it will show us the interference pattern because the peek energy wave of the particle is cut in 2 on the string and it starts to propagate on the string like two waves now where it will have multiple peeks of energy each being lower and lower as farther they go to the sides on the string.

Please note: strings don't interact with anything, they just move the energies and that's all, only energy interacts with other energies.

If we do observe it going through the slits the energy on the string will immediately accumulates itself back to the position where it's peek energy level is located at and so again it will be just one wave once you "let it go" and end up on the canvas without interference pattern.

As the 2 peek energy values of the energy wave (when it goes through the 2 slits) will never be exactly the same (as you can never divide it to perfectly 2 parts) you will end up with a result where photons will randomly go through one slit or the other but in reality they go through both of them just on the other end when you observe it it will accumulates itself back to only one position where the energy's peek level is (which can be random of those 2 positions).

Verify the theory

There are at least 2 tests we could implement to verify this behavior and also to guess the strings form to see if they are radial or linear.

1. Lets try to observe the photon after it goes through the slits but instead of observing them on the slits lets observer them a bit to the sides and a bit farther away from the barrier in which case the observer shouldn't really see anything but that doesn't matter as on the string we are trying to observer does exists a bit of energy that is being propagated through the string and so whenever there is a bit of energy at a measurement of a string it will immediately focus all it's energy back to the one point where it's energy peek level is at and so we should end up without the interference pattern on the canvas even if the observer doesn't really saw the photon when it observed it.

2. We could move the observer further from the barrier (which should be rectangular so we can't observe the string just only after it went through the slits) and if we move the observer even behind the line of sight of the slits we should still trigger the string to accumulate it's energy to one point (it's peek energy point) and so end up without the interference pattern.

My opinion would be that the strings are linear as would make things so much easier and I think the universe does like things to be simple at the core.

Side Effect

if all the above would hold true there could be a side effect in play too that would maybe explain the Quantum Entanglement as when we entangle 2 particles in reality we aren't doing anything to them but instead we are putting both of the particles on the same string and that's all.

This would explain why they can't be both at the same position, meaning they are both on the same string so if they would be on the same position they would merge and form a new particle so they are being exactly on the opposite sides and when you interact with one the other will move accordingly as being on the same string and wouldn't need to move in space at all so would explain why it can be instantaneous even if they are far away from each other as they don't need to move through space and time but are both on the same long string.

Not sure if this will be laughed at or taken seriously, but for some reason had an urge to write it down and get out there so this is it and now hopefully will be able to sleep at night!

Comments (0)

Solana RAW Transaction

Friday, 3 November 2023 by julius, 19986 views

As nowadays everything is done within thousands of files to make it user (developer) "friendly" (npm and what not) people forget that at the end is one line of code that really matters as all those SDKs at the end do a simple request with a string of data, that's it.

As was needing to implement Solana transactions without any SDK to a new language I tried to see what the raw transaction looks and here is one that seems to be working just fine and easy to understand too:

		curl 'https://mainnet-beta.solana.com' -H 'Content-Type: application/json' --data-raw '{"method":"sendTransaction","jsonrpc":"2.0","params":["AbYyVjpQVNsN2NNGD1FCb7IQ0Sd54S9J6A/EXk4OaNh3ETUQEJcMn1bVAuCt/MbQa6bn65SORjbAnJeyd0V7cwoBAAMFp60myZwz386Quc/IizS3GZ8jUF28vk5FzLYunsgM/+DnY5Gk8gOGDZ2ezIr1WoLgyGf07NLuFyujuBSYzUiUugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwZGb+UhFzL/7K26csOb57yM5bvF9xJrLEObOkAAAADC/N0bl1xvkH/ORPlcnDsS33Jzb10AB9jDqL3XbS+395f9hdog8obXXkHdExfRcWg0sORo8YmYwmWo/3ZUCfFJBAMACQNAHwAAAAAAAAMABQKAGgYAAgIAAWkDAAAAp60myZwz386Quc/IizS3GZ8jUF28vk5FzLYunsgM/+ANAAAAAAAAADE2OTg5MjYxNDAwNDeAr736CAAAAKiMVAAAAAAAwvzdG5dcb5B/zkT5XJw7Et9yc29dAAfYw6i9120vt/cEAwABAhnbyFiwnj/9fw0AAAAxNjk4OTI2MTQwMDQ3",{"encoding":"base64","skipPreflight":true}],"id":"b1264dc9-3675-4173-a77c-ade56ca21e16"}'


The most important part is the params: and that long line of code which is Base64 encoded can be easily decoded and you end up with:

01 b6 32 56 3a 50 54 db 0d d8 d3 46 0f 51 42 6f 
b2 10 d1 27 79 e1 2f 49 e8 0f c4 5e 4e 0e 68 d8
77 11 35 10 10 97 0c 9f 56 d5 02 e0 ad fc c6 d0
6b a6 e7 eb 94 8e 46 36 c0 9c 97 b2 77 45 7b 73
0a 01 00 03 05 a7 ad 26 c9 9c 33 df ce 90 b9 cf
c8 8b 34 b7 19 9f 23 50 5d bc be 4e 45 cc b6 2e
9e c8 0c ff e0 e7 63 91 a4 f2 03 86 0d 9d 9e cc
8a f5 5a 82 e0 c8 67 f4 ec d2 ee 17 2b a3 b8 14
98 cd 48 94 ba 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 03 06 46 6f e5 21 17 32 ff ec ad
ba 72 c3 9b e7 bc 8c e5 bb c5 f7 12 6b 2c 43 9b
3a 40 00 00 00 c2 fc dd 1b 97 5c 6f 90 7f ce 44
f9 5c 9c 3b 12 df 72 73 6f 5d 00 07 d8 c3 a8 bd
d7 6d 2f b7 f7 97 fd 85 da 20 f2 86 d7 5e 41 dd
13 17 d1 71 68 34 b0 e4 68 f1 89 98 c2 65 a8 ff
76 54 09 f1 49 04 03 00 09 03 40 1f 00 00 00 00
00 00 03 00 05 02 80 1a 06 00 02 02 00 01 69 03
00 00 00 a7 ad 26 c9 9c 33 df ce 90 b9 cf c8 8b
34 b7 19 9f 23 50 5d bc be 4e 45 cc b6 2e 9e c8
0c ff e0 0d 00 00 00 00 00 00 00 31 36 39 38 39
32 36 31 34 30 30 34 37 80 af bd fa 08 00 00 00
a8 8c 54 00 00 00 00 00 c2 fc dd 1b 97 5c 6f 90
7f ce 44 f9 5c 9c 3b 12 df 72 73 6f 5d 00 07 d8
c3 a8 bd d7 6d 2f b7 f7 04 03 00 01 02 19 db c8
58 b0 9e 3f fd 7f 0d 00 00 00 31 36 39 38 39 32
36 31 34 30 30 34 37

where the explanation of the hex code is the following:

01 // Number of signatures
b6 32 56 3a 50 54 db 0d d8 d3 46 0f 51 42 6f b2 // 1st Signature 64 bytes
10 d1 27 79 e1 2f 49 e8 0f c4 5e 4e 0e 68 d8 77
11 35 10 10 97 0c 9f 56 d5 02 e0 ad fc c6 d0 6b
a6 e7 eb 94 8e 46 36 c0 9c 97 b2 77 45 7b 73 0a

01 // Number of Signers
00 // Number of Read Only Addresses from Signers
03 // Number of Read Only Addresses Not requiring Signatures

05 // Number of Addresses
a7 ad 26 c9 9c 33 df ce 90 b9 cf c8 8b 34 b7 19 // 1st Address 32 bytes (usuallty Wallet)
9f 23 50 5d bc be 4e 45 cc b6 2e 9e c8 0c ff e0
e7 63 91 a4 f2 03 86 0d 9d 9e cc 8a f5 5a 82 e0 // 2nd Address 32 bytes
c8 67 f4 ec d2 ee 17 2b a3 b8 14 98 cd 48 94 ba
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // 3rd Address 32 bytes
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 06 46 6f e5 21 17 32 ff ec ad ba 72 c3 9b e7 // 4th address 32 bytes
bc 8c e5 bb c5 f7 12 6b 2c 43 9b 3a 40 00 00 00
c2 fc dd 1b 97 5c 6f 90 7f ce 44 f9 5c 9c 3b 12 // 5th Address 32 bytes
df 72 73 6f 5d 00 07 d8 c3 a8 bd d7 6d 2f b7 f7
97 fd 85 da 20 f2 86 d7 5e 41 dd 13 17 d1 71 68 // Latest Blockhash 32 bytes
34 b0 e4 68 f1 89 98 c2 65 a8 ff 76 54 09 f1 49

04 // Number of Instructions

03 // Address Index from the Addresses above to send instruction to
00 // Addresses used
09 // Data Length
03 40 1f 00 00 00 00 00 00 // Data

03 // Address Index from the Addresses above to send instruction to
00 // Addresses used
05 // Data Length
02 80 1a 06 00 // Data

02 // Address Index from the Addresses above to send instruction to
02 // Addresses used
00 // 1st Address Index from the list above
01 // 2nd Address Index from the list above
69 // Data length
03 00 00 00 a7 ad 26 c9 9c 33 df ce 90 b9 cf c8 // Data 105 bytes
8b 34 b7 19 9f 23 50 5d bc be 4e 45 cc b6 2e 9e
c8 0c ff e0 0d 00 00 00 00 00 00 00 31 36 39 38
39 32 36 31 34 30 30 34 37 80 af bd fa 08 00 00
00 a8 8c 54 00 00 00 00 00 c2 fc dd 1b 97 5c 6f
90 7f ce 44 f9 5c 9c 3b 12 df 72 73 6f 5d 00 07
d8 c3 a8 bd d7 6d 2f b7 f7

04 // Address Index from the Addresses above to send instruction to
03 // Addresses Used
00 // 1st Address Index from the list above
01 // 2nd Address Index from the list above
02 // 3rd Address Index from the list above
19 // Data Length
db c8 58 b0 9e 3f fd 7f 0d 00 00 00 31 36 39 38 // Data 25 bytes
39 32 36 31 34 30 30 34 37

Data can be further split up but that's up to the programs to parse so won't get into that right now. FYI: Dala length is specified in Compact U16 format.

NOTE: The addresses that require signatures appear at the beginning, with addresses requesting read-write access first, and read-only accounts following. The addresses that do not require signatures follow the addresses that do, again with read-write accounts first and read-only accounts following.

This way you can easily construct any kind of transaction on Solana and simply send it over to the RPC node and that's it, should be working just fine. For signing you will need only the part without the signatures on the top, so everything below the signatures is the binnary data that you should sign and then add the signatures to the top of it.

Comments (0)

Eclipse, totally Disable "Smart Instert"

Monday, 9 November 2020 by julius, 322687 views

Unfortunately in Eclipse you can't simply disable the "Smart Insert" feature just like that. I know you can uncheck a bunch of things to disable a lot of those smart insert features but at the end it cannot be disabled globally! For e.g. you cannot ever disable how it adds tabs when you past content.

So this is my take on to totally disable Smart Insert feature in Eclipse:

  1. Open Eclipse and create a new java project (call it Test or org.eclipse.ui or whatever you want)
  2. Create the following directories/file within this project:
    src/org/eclipse/ui/texteditor/AbstractTextEditor.java
  3. Copy the content from the eclipse release you are using to this file, for e.g. this is version 4.17
    AbstractTextEditor.java
  4. Apply this patch to your new project:
    AbstractTextEditor.java.patch
  5. Right click your project, select Properties -> Java Build Path -> Libraries -> Add External JARs and select all jars files from your eclipse installation plugins/ directory (just use shift to select all of them at once)
  6. Select "Run -> Run As -> Java Application"
  7. Rename plugins/org.eclipse.ui.workbench.texteditor_XXXXX.jar in your eclipse installation directory (you version may change depending on release) to org.eclipse.ui.workbench.texteditor_XXXXX.jar.zip
  8. Replace the org/eclipse/ui/texteditor/AbstractTextEditor.class file within this zip file with the one from your own build located at bin/org/eclipse/ui/texteditor/AbstractTextEditor.class
  9. Rename org.eclipse.ui.workbench.texteditor_XXXXX.jar.zip back to it's original name for e.g. org.eclipse.ui.workbench.texteditor_XXXXX.jar
  10. Restart eclipse and now independent of your source editor kind (java, c, php, css, javascript) they all should be in normal insert mode.

IMPORTANT: this will prevent you from switching to Smart Insert as it simply disables that possibility because for some reason for e.g. PHP and CSS editors directly switch to Smart Insert mode even if default is not smart insert mode so had to totally disable it.

Comments (491)

Run Multiple Instances of Totem (or any other gnome application)

Saturday, 7 November 2020 by julius, 123746 views

Unfortunately all new gnome applications nowadays use the g_application_run and so they will only allow one instance at a time. For e.g. it's the case for 2 most popular used one like Totem and Nautilus which in multi monitor setup isn't that useful.

Of course you could simply rebuild your own version of Totem and add the --no-existing-session argument but that would still need you to make modification to desktop file and also rebuilding every application you would want multiinstance support isn't the best way in my opinion.

Checking out the g_application_run you can see there is an argument called application-id which is used to detect if application is already running and if it is it will simply focus instead of launching a new version.

Solution

To allow multi instances of the same application just replace the "application-id" in the binary file with whatever you wish (for e.g. application-ie" and there you go.

For e.g. here is a quick command to allow multi instances for totem:

sed -i 's/application-id/application-ie/' /usr/bin/totem

Now you can launch totem as many time as you wish which is pretty useful if you want to view one video on one tv, another one on your monitor and so on.

This method should work for any kind of gnome application, tried with Totem and Nautilus and for both of them it works perfectly so far, just remember if you application gets updated you will have to rerun the above command.

Comments (0)

Error BASE64Encoder on Eclipse 4.17 Andmore ADT

Thursday, 29 October 2020 by julius, 165747 views

Unfortunately it looks like the latest Eclipse 4.17 requires Java 11 and so Android application using Andmore ADT cannot be build. Simply switching the vm to old java isn't an option as Eclipse simply won't work.

Building an android application seems to brake around the signing part of the package with the error:
Errors occurred during the build.
Errors running builder 'Android Package Builder' on project 'com.pijulius.tvguide'. sun/misc/BASE64Encoder



After some digging found out that this file (have no idea where it comes from but gets automatically created whenever you delete it so I imagine one of the plugins provides it but not sure which one or how):

/opt/eclipse/configuration/org.eclipse.osgi/126/0/.cp/libs/sdklib.jar

is the file that contains the SignedJarBuilder.java class and causes the
sun/misc/BASE64Encoder error.

Tried to look around for fixed version of this class but unfortunately Google dropped the tools all together instead of the command tools they use now and that's a total rewrite as far as I could see so using that wasn't an option.

Then found an old version of this tools build here:
https://mvnrepository.com/artifact/com.android.tools/sdklib/22.1.3

which uses BouncyCastle instead of sun's base64 implementation, you can see the source code here:
https://android.googlesource.com/platform/tools/build/+/e7556cf19d05123e3d8abdc56b718090d600fce3/builder/src/main/java/com/android/builder/signing/SignedJarBuilder.java

Now what I did is:

Step 1: simply replace this SignedJarBuilder class with the one from the old tools sdklib build (22.1.3) as follows:

com/android/sdklib/internal/build/SignedJarBuilder.class
com/android/sdklib/internal/build/SignedJarBuilder$CountOutputStream.class

Step 2: also added the class files for BouncyCastle builds from these two files:

bcpkix-jdk15on-166.jar
bcprov-ext-jdk15on-166.jar

They both were download from here:
https://www.bouncycastle.org/latest_releases.html

Finally: rebuild the sdklib.jar zip file and replaced the original one with the new one and finally it's working. Building and installing works too and should work with both new and old java too as far as I can tell.

The final sdklib.jar file (that I use, including the other jar files) can be found here:
http://pijulius.com/julius/eclipse/

ps: why not use Android Studio? well because I want to use one IDE for different projects instead of always switching app just to work on different things, that's the whole idea behind Eclipse and really hope android development possibility won't die on it's end.

Comments (4)

TouchFlo2d on VGA Windows Mobile devices

Friday, 3 October 2008 by julius, 123106 views

This is a new project I'm working on in my spear time, the great XDA Developers have extracted the so called TouchFlo2d from a HTC device and they ported it over other HTC and now even Non HTC devices so you can use the great interface on your windows mobile devices to impress people :) or for any other reason, anyway because the original interface is for QVGA devices I started to port it over to VGA devices too (as mine is VGA) and created a thread on the XDA forum for updates and fixes please go there and don't forget to thank the TouchFlo2d developers for bringing this to our devices.



This screen shot was taken on my X7510 device as you can see almost all of the images have been redone so the quality looks good (at least I hope so) there are still some bugs that need to be fixed but till now it work pretty well.

Check out this thread time to time to keep yourself updated:
ToucFlo2d on VGA Devices

Helps is always welcome as I do this in my free time (which isn't much) so if you think you can help me with something just drop me a letter or im.

Comments (0)

Pocket PC CEdit on Windows Mobile 6.1

Friday, 3 October 2008 by julius, 122613 views

CEdit is the best source editor for windows mobile devices available (correct me if I'm wrong) but unfortunately it is not compatible with the latest windows mobile 6.1 devices. It works just fine but even if you buy the license you won't be able to register it as the registration window won't show up so you are out of luck to use it for more than 15 days.



Now I had a talk with the developer "Tim Kingsbury" who is a very nice guy, he said that unfortunately he has a lot of work on other projects but will try to find a fix for this one too, unfortunately he wasn't able to work on this lately so he kindly refunded my registration fee (which as I told him wasn't necessary so he is a very correct man) but the sad part is that I still can't use the program as it simply won't let me after 15 days so I wrote a little crack that enables to use the program to be used without registration this way you can use it on your Windows Mobile 6.1 device BUT please DON'T ask me for the crack instead please go to the CEdit's page and buy the program so we can motivate "Logical Sky" to update the build for the latest devices and we support them too as it's really a must have program for those who have to do some little codings/fixings while on road, thats for sure!

PS: If you have a working license and you can't use it on your Windows Mobile 6.1 device let me know and if "Logical Sky" approves I may send you the exe file to have it working but lets hope they will fix the problem sooner :)

Comments (0)

No good news for my Rockbox themes/builds fans

Thursday, 11 September 2008 by julius, 123022 views

I know I know, I should have said this long before, so unfortunately I have to give up on the Rockbox modifications/builds/themes as I have other things to do and as one of my fans said even if it's not the time it's the interest and that's true, I'm not so interested in it anymore as for mp3 playback there are now phones with huge storage capacities so why take another "kutyuru" (thingy) if you have everything within one, so I almost never use my iPod lately and that's why I didn't care more about the look nor how it works.

I will keep the posts below for archive reasons but please don't use any builds as (I'm almost sure) they wont work at all, but I know there are a lot of discussions and other ports of my themes so here by I grant all usage privileges to anyone who wants it :) so please don't email me to set a copyright notice to the themes and get the rights from the image/picture/wallpaper owners so you can use it, I don't remember from where I got those backgrounds so as I wrote on my posts before if the owners mind they should contact me but they didn't so you are free to use them as I see.

I will now start to work on some other programs (as my free time allows it) for other portable players/phones, Windows Mobile, Android or why not even iPhone depending on what "kutyuru" I have but I'm not really a Mac fan so I wouldn't count on that :), anyways, I settled down a bit now so hopefully I will have some more time for this blog in the future and give some life back to it.

Comments (0)

jClix Rockbox Themes - iPod Video

Tuesday, 29 August 2006 by julius, 122778 views

Long time since I wrote here, so please don't be mad at me, I had a lot to do, but fortunately I got some free time between the big rush, and I managed to finish my new theme.

So this would it be:



It is a port of the original iRiver Clix theme, but it's not just a port it is more than that because I redid the whole design even the littlest pixel, but the idea is from the iRiver Clix that's true.

Again I created 11 themes with different backgrounds so if you bored with one you can choose a new one, and if you want your own background just download the psd file and make your own theme.

IMPORTAT: as you can see this theme needs some patches because it has multiple font faces on the wps and you can change the position of the menu and have different colors for the text on the wps and so on, so I will try to explain you which patch what does so you can implement them in your build. Note: these patches should support all other themes, so you should be able to use the original rockbox themes with these patches.

DOWNLOAD:
* jClix Theme Package
* Rockbox jBuild to use the themes

Patches:
* custom_display_width.patch
* custom_list_position.patch
* customline.patch
* multifont.patch
* multifont-userfonts.patch

Click on the patches for more info, they are now on the rockbox tracker and I hope they will be useful for your future themes.

Fonts: the fonts used in these themes are included in the theme package, so you shouldn't have problems using them.

NOTES:
* The album arts for the themes should be 85x85 sized, I know this is not a standard size, but the builds don't support album art anyway (for now), because I'm waiting for the new album art to come out wich should have scaling capabillities.

Copyright: again, some of the backgrounds may be copyrighted but I hope their creators won't be mad at me for using them, I really enjoy your backgrounds people and would like to thank you for making them, and if you see your background and would like to see your name here, please drop me a letter, I would be happy to have your name on my site :)

Enjoy as always!

Comments (0)

Rockbox Bootloader with fullscreenlogo and Statusbar

Friday, 30 June 2006 by julius, 122913 views

I had some free time, and this is what came out :)
I just finished to create a custom Rockbox bootloader for the iPod Video with a fullscreen logo (you know, the girl holding the iPod), and a custom status bar which I hope will look as good as the rest :)

The girl with the iPod now really holds a Black iPod video, so it's now your turn :)

Ok, this is how it looks, the bootloader splashscreen and the new fullscreen logo:


Download custom Bootloader
You can get the custom rockbox boot loader from
http://pijulius.com/julius/rockbox/ (look for: jbootloader-YYYYMMDD-$yourdevice$.bin)
Note: at the moment it's only available for iPod video (5g) but I hope I will have some time to make one for the iPod Color too.

To install the bootloader please follow the rockbox's instructions found here:
http://www.rockbox.org/twiki/bin/view/Main/IpodBoot

Download custom builds
As usually, the custom build can be downloaded from
http://pijulius.com/julius/rockbox/

The patches which are included in these builds can be downloaded too one by one from:
http://pijulius.com/julius/rockbox/patches/

Notes:
I would like to thank again to S3TUP for the great girl with the rocbox in her hand, and to Pete for the black iPod 5g suggestion, and to Ivo Burkart for his bootsplashscreen patch which was a great start to make my own.

OOoo and as always, Big Thanks to the Rockbox team, I'm so proud of this software, thanks guys/girls for the great work, and for giving us this possibility of freedom to make any changes anytime :)

That would be all for now, enjoy as always :)

Comments (0)
Page 1 of 3: