000webhost

Web hosting
Showing posts with label Python. Show all posts
Showing posts with label Python. Show all posts

Wednesday, May 16, 2018

Novation Launchpad Lightshow, Random Stuff, and More

- if you've ever seen some of the Novation Launchpad lightshows on the Internet you'll have wondered how they are possible...
Launchpad Basics _ Lightshow Building
Novation Launchpad Light Show
Novation Launchpad Light Show TUTORIAL
Novation _ Launchpad Pro - Making a Lightshow
- I did some digging... The obvious way is to use a music DAW to fire off lights of your choosing since the Novation Launchpad device is a control as well as feedback device. There are actually heaps of free plugins and tools out there to help out with this
novation launchpad lightshow
- I've been interested in something was more 'lightweight' though. Namely a library which could be used to program the device in any which way you desire. I found some code online but it doesn't really do all that much. I decided to see what I could do. Lots of light tests including spelling out out letters, random light colour sequences, movement, etc... You can download the result of my experiment here:
- details are as follows:
# Wanted to see whether I could program a lightshow (independent of a DAW)
# for my Novation Launchpad device. Found the following library/code:
#
# There's obviously a lot that you can do with this device especially
# with the full colour models that move beyond the original RGB modes. 
# The code in this script allows the a Novation Launchpad Mk2 to spell
# out out letters, create random light colour sequences, create worm like
# movement of lights, etc...
#
# As this is the very first version of the program it may be VERY buggy. 
# Please test prior to deployment in a production environment.
- obviously, I've made a many changes to the original code. Classic problems that you often find with 'hobby code' such as lack of modularity, strange naming conventions, lack of commenting, strange error handling, etc...). Had to de-comment and alter to figure some things out...
novation launchpad linux lightshow
novation launchpad linux github.com
- if you've watched this blog for a while you'll have guess I play around with embedded hardware/firmware regularly and dabble in the Electronic Dance Music (EDM) arena a bit. Here are some links to similar experiments for those who are interested:

Random Stuff:
- as usual thanks to all of the individuals and groups who purchase and use my goods and services
- latest in science and technology
- latest in finance and politics
- latest in defense and intelligence
- latest in animal news
- latest in music and entertainment

Random Quotes:
- Maher has expressed the view that a lot of illness is the result of poor diet and lack of exercise, and that medicine is often not the most appropriate way of addressing illness. In an episode of his show about the 2008 presidential candidates' health plans, Maher stated that poor nutrition is a primary cause of illness, and that "the answer isn't another pill."[100] He also has said: "If you believe you need to take all the pills the pharmaceutical industry says you do, then you're already on drugs!"[101]

He has expressed his distaste for the pharmaceutical and health care industries in general, on the grounds that they make their money out of treating people who are made sick by consuming unhealthy food that corporations urge upon the public. He maintains that mass consumption of high-fructose corn syrup is a contributor to the rise in frequency of obesity in the United States.[102]

In a discussion with Michael Moore about the film Sicko, Maher said, "The human body is pretty amazing; it doesn't get sick, usually, for no reason. I mean, there's some genetic stuff that can get to you, but, basically, people are sick in this country because they're poisoned. The environment is a poisoning factor, but also, we gotta say, they poison themselves. They eat shit. People eat shit, and that's, to my way of thinking, about 90 percent of why people are sick, is because they eat shit."[103]
- Iran's Foreign Minister Mohammad Javad Zarif says the time has come to move away from hegemonic illusions which are causing strife in the Middle East.

Zarif made the remarks while addressing the 72nd High-level Meeting on Peace building and Sustaining Peace at United Nations Headquarters in New York on Tuesday.

"Conflict prevention requires focusing on the root causes, including the mutually reinforcing afflictions of occupation, foreign intervention and extremism. Additionally, advancing hegemonic illusions or attempting to achieve security at the expense of others through exclusion and block formations, have invariably caused tension and conflict, and led to destructive arms races," he added.

Zarif also noted that Persian Gulf countries must join forces in order to maintain regional peace instead of trying to become regional powers.  

The Iranian foreign minister further called for the establishment of a "Regional Dialogue Forum" and the establishment of new security networks aimed a replacing current national security blocs.

"It is crucial to now shift to a new paradigm based on joining forces to create strong regions, instead of anyone seeking to be the strongest in our region. And shifting from forming security blocks to accepting security networking. Both are predicated on respect for the interest of all stakeholders--large and small--coupled with a win-win philosophy. In the current inter-connected world, no country’s security can be assured at the expense of others," he noted.
- The decision affecting Khyber Pakhtunkhwa province echoes a similar ban introduced there more than a decade ago, after militant groups including the Pakistani Taliban threatened barbers with dire consequences for trimming beards.

"Creating different beard designs is against the Sunnah (teachings) of the Prophet Mohammed," Sulemani Hairdressers Association president Sharif Kahlu told a press conference in the provincial capital Peshawar on Monday.
- WASHINGTON — After the Big Bang, it was cold and black. And then there was light. Now, for the first time, astronomers have glimpsed that dawn of the universe 13.6 billion years ago when the earliest stars were turning on the light in the cosmic darkness.

And if that’s not enough, they may have detected mysterious dark matter at work, too.

The glimpse consisted of a faint radio signal from deep space, picked up by an antenna that is slightly bigger than a refrigerator and costs less than $5 million but in certain ways can go back much farther in time and distance than the celebrated, multibillion-dollar Hubble Space Telescope.

Judd Bowman of Arizona State University, lead author of a study in Wednesday’s journal Nature, said the signal came from the very first objects in the universe as it was emerging out of darkness 180 million years after the Big Bang.

Seeing the universe just lighting up, even though it was only a faint signal, is even more important than the Big Bang because “we are made of star stuff, and so we are glimpsing at our origin,” said astronomer Richard Ellis, who was not involved in the project.

The signal showed unexpectedly cold temperatures and an unusually pronounced wave. When astronomers tried to figure out why, the best explanation was that elusive dark matter may have been at work.

If verified, that would be the first confirmation of its kind of dark matter, which is a substantial part of the universe that scientists have been searching for over decades.
- "He just keeps talking … It's meant to create the impression that he knows what he's talking about. But it's also just meant to drown you in meaningless stuff."
- The study of religiosity and intelligence explores the link between religiosity and issues related to intelligence and educational level (by country and on the individual level). Religiosity and intelligence are both complex topics that include diverse variables, and the interactions among variables are not always well understood. For instance, intelligence is often defined differently by different researchers[1] and also all scores from intelligence tests are only estimates of intelligence because concrete measurements, like those of mass or distance, cannot be achieved given the abstract nature of the concept of "intelligence".[2] Religiosity is also complex in that it involves wide variations of interactions of religious beliefs, practices, behaviors, and affiliations in diverse cultures.[3]

A meta-analysis found a negative correlation between intelligence quotient (IQ) and religiosity for western societies. The correlation was suggested to be a result of nonconformity, more cognitive and less intuitive thinking styles among the less religious, and less of a need for religion as a coping mechanism.[4] Some studies have shown a correlation between national average IQ and levels of atheism in society,[5] although others have questioned whether any correlations are due to a complex range of social, economic and historical factors, which interact with religion and IQ in different ways.[6] Others argue that any differences in national IQ and levels of atheism are not necessarily due to levels of religiosity or nonreligiosity, but are correlated with economic, educational, environmental, and social factors.[7] Less developed and poorer countries tend to be more religious, perhaps because religions play a more active social, moral and cultural role in those countries.[8]

One study suggests that intuitive thinking may be one out of many sources that affect levels of religiosity and that analytical thinking may be one out of many sources that affect disbelief.[9] However, others who have reviewed studies on analytic thinking and nonbelievers suggest that analytical thinking does not imply better reflection on religious matters or disbelief.[10]

A global study found that Jews, Christians, religiously unaffiliated persons, and Buddhists have, on average, higher levels of education than the global average.[11] On the individual level, one study observed that education level is positively correlated with a belief in a god in African countries, and negatively correlated in western countries.
- “In the past, when elephants were sick, they were often released back into the forest. The sick elephants would seek leaves and herbs to treat themselves. But now forests have been largely destroyed; there are few medicinal plants left,” Long added.

Long said elephants were big animals that were generally in good health. Most of their diseases are caused by working too hard and carrying loads that are far too big.

“In recent years, elephants tend to have more tumours in their bodies. The tumours stem from polluted food and water, which leads to lack of nutrition and resistance in their bodies,” he added.

Long often uses the bark of lộc vừng (fish poison tree or barringtonia), and leaves of trâm (Jamblon or syzygium cumini) and some salt boiled to rinse off the injured areas. After sterilising the injury, Long uses soil taken from the nest of termites or fermented rice to cover the open injury.

“Both substances have antibiotic functions and kill parasites and work very well for elephants with tumours,” Long said.
- Modi emphasized that growth needed to be achieved in a sustainable and responsible way. "I see many moving from need-based consumption to greed-based consumption," he said through an interpreter in Davos.

"The question is: Is this really development, or is it the beginning of society's downfall?"
- "Reggie has redefined what a spinal cord injury is because up till now, they thought a 'complete' injury was characterised by a complete loss of sense and function below the injury," he said.

"But there might be small numbers of nerve fibres, functional, still running through the injury site, some pathway," he continued.

"Reggie's technology elevates the ability of the lower part of the spinal cord to hear the small signals that are coming through the injury site, so it may not be a 'complete' injury."

The latest spinal cord stimulation study shows participants require less and less stimulation to achieve the same movements, suggesting the therapy sets a "cascade of repair events" to bring about recovery.

In addition, yet-to-be-published research by Dr Edgerton shows electrical stimulation can also be used to manage high blood pressure, which is an important finding because high blood pressure caused by dysreflexia is a leading cause of death among paralysed people.
- "Faith has always accompanied us, it strengthened when our country, our people faced particularly difficult times," Putin said in an interview for the documentary film "Valaam," a clip from which was broadcast by the Russia 1 TV channel.

"There were such severe years of militant atheism [during the Soviet period] when priests were killed, churches were destroyed. But at the same time a new religion was being created — Communist ideology, which is very similar to Christianity, in fact. Freedom, equality, brotherhood, justice — all of this is enshrined in the Holy Scripture, it's all there. And what about the Code of the Builders of Communism? This is a sublimation, it's really just a primitive excerpt from the Bible, nothing new was invented," the president said.
- HIGHEST INCOMES BY POSTCODE
• $192,500 — 2027 (NSW: Darling Point, Edgecliff, Point Piper)
• $190,777 — 3142 (Victoria: Hawksburn, Toorak)
• $182,829 — 2030 (NSW: Dover Heights, Rose Bay North, Vaucluse)
• $180,412 — 2023 (NSW: Bellevue Hill)
• $167,266 — 3944 (Victoria: Portsea)
• $161,360 — 2088 (NSW: Mosman, Spit Junction)
• $159,736 — 2063 (NSW: Northbridge)
• $150,230 — 6011 (Western Australia: Cottesloe, Peppermint Grove)
• $147,757 — 2110 (NSW: Hunters Hill, Woolwich)
• $146,521 — 2028 (NSW: Double Bay)
LOWEST INCOMES BY POSTCODE
• $12,004 — 2387 (NSW: Bulyeroi, Rowena)
• $15,411 — 3482 (Victoria: Watchem, Watchem West, Morton Plains)
• $18,291 — 4732 (Queensland: Tablederry, Muttaburra)
• $21,540 — 3889 (Victoria: Errinundra, Manorina, Club Terrace)
• $22,119 — 2308 (NSW: Newcastle University, Callaghan)
• $22,520 — 3542 (Victoria: NSW: Tittybong, Cokum, Lalbert)
• $23,641 — 2386 (NSW: Burren Junction, Nowley, Drildool)
• $23,881 — 5306 (South Australia: Wynarka)
• $24,261 — 3391 (Victoria: Brim)
• $24,641 — 3237 (Victoria: Weeaproinah, Wyelangta, Yuulong)
Source: ATO Taxation Statistics 2015-16
- In genetics, the mutation rate is the frequency of new mutations in a single gene or organism over time.[2] Mutation rates are not constant and are not limited to a single type of mutation, therefore there are many different types of mutations. Mutation rates are given for specific classes of mutations. Point mutations, are a class of mutations, which are small or large scale insertions or deletions. There are also Missense and Nonsense mutations, which are variations of point mutations. The rate of these types of substitutions can be further subdivided into a mutation spectrum which describes the influence of the genetic context on the mutation rate.[3]

There are several natural units of time for each of these rates, with rates being characterized either as mutations per base pair per cell division, per gene per generation, or per genome per generation. The mutation rate of an organism is an evolved characteristic and is strongly influenced by the genetics of each organism, in addition to strong influence from the environment. The upper and lower limits to which mutation rates can evolve is the subject of ongoing investigation. However, the mutation rate does vary over the genome. Over DNA, RNA or a single gene, mutation rates are changing.

When the mutation rate in humans increases certain health risks can occur, for example, cancer and other hereditary diseases. Having knowledge of mutation rates is vital to understanding the future of cancers and many hereditary diseases.[4]

Thursday, July 23, 2015

Self Replacing Secure Code, our Strange World, Mac OS X Images Online, Password Recovery Software, and Python Code Obfuscation

A while back (several years ago) I wrote about self replacing code in my 'Cloud and Security' report (p.399-402)(I worked on it on and off over an extended period of time) within the context of building more secure codebases. DARPA are currently funding projects within this space. Based on I've seen it's early days. To be honest it's not that difficult to build if you think about it carefully and break it down. Much of the code that is required is already in wide spread use and I already have much of the code ready to go. The problem is dealing with the sub-components. There are some aspects that are incredibly tedious to deal with especially within the context of multiple languages.

If you're curious, I also looked at fully automated network defense (as in the CGC (Cyber Grand Challenge)) in all of my three reports, 'Building a Coud Computing Service', 'Convergence Effect', and 'Cloud and Internet Security' (I also looked at a lot of other concepts such as 'Active Defense' systems which involves automated network response/attack but there are a lot of legal, ethical, technical, and other conundrums that we need to think about if we proceed further down this path...). I'll be curious to see what the final implementations will be like...
https://en.wikipedia.org/wiki/DARPA
http://www.darpa.mil/
https://play.google.com/store/books/author?id=Binh+Nguyen
http://www.amazon.com/mn/search/?_encoding=UTF8&camp=1789&creative=390957&field-author=Binh%20Nguyen&linkCode=ur2&search-alias=digital-text&sort=relevancerank&tag=bnsb-20&linkId=3BWQJUK2RCDNUGFY
http://www.brisbanetimes.com.au/it-pro/security-it/csail-fixes-software-bugs-automatically-in-any-language-by-copying-from-safer-applications-20150720-gifyo3
http://www.smh.com.au/it-pro/security-it/csail-fixes-software-bugs-automatically-in-any-language-by-copying-from-safer-applications-20150720-gifyo3
http://www.theverge.com/2015/7/8/8911493/darpa-cyber-grand-challenge-finalists-defcon
http://www.networkworld.com/article/2945443/security0/darpas-4m-cyber-threat-clash-down-to-seven-challengers.html

If you've ever worked in the computer security industry you'll realise that it can be incredibly frustrating at times. As I've stated previously it can sometimes be easier to get information from countries under sanction than legitimately (even in a professional setting in a 'safe environment') for study. I find it very difficult to understand this perspective especially when search engines allow independent researchers easy access to adequate samples and how you're supposed to defend against something if you (and many others around you) have little idea of how some attack system/code works.
http://www.itnews.com.au/News/406655,infosec-firms-oppose-misguided-exploit-export-controls.aspx
http://www.theaustralian.com.au/business/technology/australian-firms-under-attack-every-week-centrify/story-e6frgakx-1227444081288?nk=2712dc6b13f189c643cb547351652f41-1437018757

It's interesting how the West views China and Russia via diplomatic cables (WikiLeaks). They say that China is being overly aggressive particularly with regards to economics and defense. Russia is viewed as a hybrid criminal state. When you think about it carefully the world is just shades of grey. A lot of what we do in the West is very difficult to defend when you look behind the scenes and realise that we straddle such a fine line and much of what they do we also engage in. We're just more subtle about it. If the general public were to realise that Obama once held off on seizing money from the financial system (proceeds of crime and terrorism) because there was so much locked up in US banks that it would cause the whole system to crash would they see things differently? If the world in general knew that much of southern Italy's economy was from crime would they view it in the same way as they saw Russia? If the world knew exactly how much 'economic intelligence' seems to play a role in 'national security' would we think about the role of state security differently?
http://www.theguardian.com/world/2010/nov/29/wikileaks-cables-china-reunified-korea
https://en.wikipedia.org/wiki/Contents_of_the_United_States_diplomatic_cables_leak_%28People%27s_Republic_of_China%29
https://en.wikipedia.org/wiki/Reactions_to_the_United_States_diplomatic_cables_leak
https://en.wikipedia.org/wiki/Reception_of_WikiLeaks
http://www.theguardian.com/world/2010/dec/01/wikileaks-cables-russia-mafia-kleptocracy
http://www.telegraph.co.uk/news/worldnews/wikileaks/8304654/WikiLeaks-cables-US-agrees-to-tell-Russia-Britains-nuclear-secrets.html
https://www.techdirt.com/articles/20130910/13145824474/former-nsa-officer-wikileaks-is-front-russian-intelligence-snowdens-probably-spy.shtml
http://www.news.com.au/finance/work/the-human-tragedy-of-mh17-could-boost-vladimir-putins-popularity-despite-damning-video-evidence/story-fn5tas5k-1227448079141

If you develop across multiple platforms you'll have discovered that it is just easier to have a copy of Mac OS X running in a Virtual Machine rather than having to shuffle back and forth between different machines. Copies of the ISO/DMG image (technically, Mac OS X is free for those who don't know) are widely available and as many have discovered most of the time setup is reasonably easy.
http://www.reddit.com/r/osx/comments/1oey0b/download_os_x_109_mavericks_gm_final_dmg/
http://www.techglobex.net/2013/10/download-os-x-109-mavericks-gm-final.html

If you've ever lost your password to an archive, password recovery programs can save a lot of time. Most of the free password recovery tools deal only with a limited number of filetypes and passwords.
http://www.lostpassword.com/kit-forensic.htm
http://www.top-password.com/download.html
http://www.passwordsrecoverytool.com/download/
http://www.passwordsrecoverytool.com/downloads/
https://www.elcomsoft.com/eprb.html
http://www.password-changer.com/
http://www.password-changer.com/download.htm
http://www.livecd.com/
http://livecd.com/DataStudio/download.htm
http://pcsupport.about.com/od/toolsofthetrade/tp/passrecovery.htm
http://www.techrepublic.com/blog/five-apps/five-trustworthy-password-recovery-tools/

There are some Python bytecode obfuscation utilities out there but like standard obfuscators they are of limited utility against skilled programmers.
http://reverseengineering.stackexchange.com/questions/1943/what-are-the-techniques-and-tools-to-obfuscate-python-programs
http://stackoverflow.com/questions/14997414/obfuscating-python-bytecode-through-interpreter-mutation
http://stackoverflow.com/questions/261638/how-do-i-protect-python-code

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Thursday, July 9, 2015

Ableton and Ableton Push Hacking

For those who have been tracking this blog, it's been obvious that I've recently been spending more and more time with the Ableton Push.

If you don't know what this is please see the following...
https://www.ableton.com/en/help/learn-push/
http://blog.dubspot.com/learned-30-days-ableton-push/
http://sonicbloom.net/en/two-weekends-with-ableton-push-part-1-review/
http://emilehoogenhout.com/reviews/ableton-push-an-exploration-emile-hoogenhout/
https://www.youtube.com/results?search_query=Ableton+Live+9+%26+Push+Masterclass+Webinar  
Easy to miss Push features
https://forum.ableton.com/viewtopic.php?f=55&t=196560
Helpful Push information.
https://forum.ableton.com/viewtopic.php?f=55&t=215744

Jeremy Ellis meets Ableton Push
https://www.youtube.com/watch?v=EdCgA54g-aM
Mad Zach Push Performance Walkthrough
https://www.youtube.com/watch?v=iSZm4ECbE5k
Decap Push Performance
https://www.youtube.com/watch?v=ZOtj5WtkR1Q

It's basically an advanced, modern musical instrument/MIDI controller.

There have been others who have attempted to de-compile and extend/modify the behaviour of the device but while information and the extensions that have been provided have been interesting and useful they have been somewhat limited.
https://github.com/gluon/AbletonLive9_RemoteScripts
http://julienbayle.net/ableton-live-9-midi-remote-scripts/
http://julienbayle.net/ableton-push/
ableton: just release the py midi remote scripts
https://forum.ableton.com/viewtopic.php?f=1&t=134338
Live 9 MIDI Remote Scripts revealed...
https://forum.ableton.com/viewtopic.php?f=1&t=190069
http://livecontrol.q3f.org/ableton-liveapi/articles/introduction-to-the-framework-classes/

I'm beginning to understand why. The following link provides an update to automatically generated documentation (via epydoc) of decompiled Ableton Remote Script code (my scripts for decompilation and automated documentation have been included in the package).

https://wiki.python.org/moin/DocumentationTools
http://stackoverflow.com/questions/1125970/python-documentation-generator
http://sphinx-doc.org/
https://packages.debian.org/search?keywords=python-sphinx
https://en.wikipedia.org/wiki/Comparison_of_documentation_generators
https://packages.debian.org/stable/python/python-epydoc
https://packages.debian.org/wheezy/python-epydoc

If you want to make any additional modifications of behaviour you'll need to be aware of the following:
- you'll need to catch up on your Python coding
http://stackoverflow.com/questions/36901/what-does-double-star-and-star-do-for-python-parameters
http://stackoverflow.com/questions/400739/what-does-asterisk-mean-in-python
https://en.wikipedia.org/wiki/Pickle_%28Python%29
http://stackoverflow.com/questions/514371/whats-the-bad-magic-number-error
http://stackoverflow.com/questions/12233837/bad-magic-number-while-trying-to-import-pyc-module
http://stackoverflow.com/questions/6034621/bad-magic-number-error-persists-even-after-rebuilding-the-pyc-file
https://shankaraman.wordpress.com/tag/how-to-fix-runtimeerror-bad-magic-number-in-pyc-file/
http://www.tutorialspoint.com/python/python_exceptions.htm
http://www.linuxtopia.org/online_books/programming_books/python_programming/python_ch17s03.html
- you'll need knowledge of how the device works, music and mathematical theory, Ableton, and core computing knowledge. It is not sufficient to know how they work seperately. You need to know how everything fits together.
- sounds obvious but start small and move up. This is critical particularly with reference to the awkward style of programming that they can sometimes resort to. More on this to below
- the code can vary in quality and style quite significantly at times. At times it seems incredibly clean, elegant, and well documented. At other times, it there is no documentation at all and doesn't seem to be well designed or engineered or have keep maintenance in mind. For instance, a commonly used design pattern is MVC. This doesn't seem to follow that. They use a heap of sentinels throughout there code. Moreover, the characters that are used can be a bit confusing. They don't use preprocesser directives/constants where they may be better suited. If you break certain aspects of the code you can end up breaking a whole lot of other parts. This may be deliberate (to reduce the chances of third party modification which is likely particularly as there seems to be some authentication/handshake mechasnisms in the code to stop it from working with 'uncertified devices') or not (they lack resources or just have difficult timelines to deal with)
https://mail.python.org/pipermail/tutor/2003-July/024206.html
http://stackoverflow.com/questions/2682745/creating-constant-in-python
- be prepared to read through a lot of code just to understand/make a change to something very small. As stated previously strictly speaking at times they don't adhere to good practice. That said, other aspects can be changed extremely easily without breaking other components
- due to the previous two poits it should seem obvious that it can be very difficult to debug things sometimes. Here's the other thing you should note,
- the reason why Ableton suffers from strange crashes and hangs from time to time becomes much more obvious when you look at the way they code. In the past, I've built programs (ones which rely on automated code generation in particular) that relied on a lot of consecutive steps that required proper completion/sequencing for things to work properly. When things work well, things are great. When things break, you feel and look incredibly silly
- you may need to figure out a structure for ensuring and maintaining a clean coding environment. I try to have two screens with one for clean code and another for modified code. Be prepared to restart from scratch by reverting to a clean pyc code and only one or a small number of modified py files.
- caching occurs in situations where you may not entirely expect. If you can not explain what is happening and suspect caching just restart the system. Better yet, maintain your development environment in a virtual machine to reduce hardware stress caused by continual restarts.
- you will need patience. As stated previously, due to the way code has been structured (sometimes) you'll need to understand it properly to allow you to make changes without breaking other parts. Be prepared to modify, delete, or add code just to help you understand it
- if you've ever dealt with firmware or embedded devices on a regular basis you would be entirely familiar with some of what I'm talking about. Like a lot of embedded devices you'll have limited feedback if something goes wrong and you'll be scratching your head with regards to how to work the problem
http://dtbnguyen.blogspot.com.au/2012/07/if-only-reading-were-easier.html
http://dtbnguyen.blogspot.com.au/2012/08/funky-firmware.html
You may require a lot of Linux/UNIX based tools and other debugging utilities such as IDA Pro, Process Explorer and Process Monitor from the Sysinternals Suite. Once you examine Ableton using such utilities, it becomes much clearer how the program has been structured, engineered, and designed. One thing that can cause mayhem in particular is the Ableton Indexer which when it kicks in at the wrong time can make it feel as though the entire system has frozen.
https://technet.microsoft.com/en-us/sysinternals/bb545021.aspx
https://en.wikipedia.org/wiki/Sysinternals
Ablton indexing Crashes
https://forum.ableton.com/viewtopic.php?f=1&t=206205
(42474187) Disable "Ableton Index" possible?
https://forum.ableton.com/viewtopic.php?f=52&t=191573
http://audiosex.pro/index.php?/topic/11798-ableton-9-killing-index-process-to-speed-up-workflow/
http://audiosex.pro/index.php?/topic/11815-a-little-app-to-speed-up-live-9-mac-only/
https://www.ableton.com/en/help/article/indexer-crash/
The actual index file/s are located at
C:\Users\[username]\AppData\Roaming\Ableton\Live 9.1.7\Database
- the most relevant log file is located at,
C:\Users\[username]\AppData\Roaming\Ableton\Live 9.1.7\Preferences\Log.txt
The timestamps works on the basis on amount of time since program startup. Time of startup is clearly outlined.
Ableton takes 130 - 2 mins to start up ?
https://forum.ableton.com/viewtopic.php?f=1&t=6308
Delete it if you need to if you get confused about how it works.
https://www.ableton.com/en/help/article/live-crash-packs/
https://www.ableton.com/en/help/article/live-crashing-what-should-i-do-now/
https://www.ableton.com/en/help/article/how-to-out-of-memory/
- be aware that there are some things that you can't do anything about. The original Novation Launchpad was considered somewhat sluggish in terms of refresh rate and latency. The electronics were subsequently updated in the Novation Launchpad S to deal with it. You may encounter similar circumstances here.
Push browser - slow, freezing, sluggish :(
https://forum.ableton.com/viewtopic.php?f=55&t=215539
- they have a strong utility/systems engineering mentality. A lot of files are archives which include relatively unobfuscated content. For instance, look in a
C:\Users\[username]\AppData\Roaming\Ableton\Live 9.1.7\Live Reports
and you'll find a lot of 'alp' files. These are 'Crash Reports' which are sent to Ableton to help debug problems. Rename them to a gz file extension and run it through hexedit. Same with 'adg' audio device group files. Rename to gz and gunzip to see a flat XML file containing some encoded information but mostly free/human readable content. It will be interesting to see how much of this can be manually altered achieving flexibility in programming without having to understand the underlying file format.
https://www.ableton.com/en/help/article/filetypes-used-by-ableton/
- each version of Ableton seems to have a small version of Python included. To make certain, advanced extensions others have suggested installing a libraries seperately or a different version of Python...
- be prepared to learn multiple protocols and languages in order to make the changes that you want
How to control the Push LCD text with sysex messages
https://forum.ableton.com/viewtopic.php?f=55&t=193744
http://archive.monome.org/community/discussion/1648/share-your-arduinomonome-code/p1
http://hackaday.com/2008/08/13/rgb-monome-clone/
https://en.wikipedia.org/wiki/Protofuse
http://julienbayle.net/works/creation/protodeck-midi-controller-for-ableton-live/

For a lot of people, the device seems incredibly expensive for what amounts to a MIDI controller. It was much the same with me. The difference is that it's becoming increasingly clear how flexible the device can be with adequate knowledge of the platform.
http://www.nativekontrol.com/
http://blog.dubspot.com/5-ableton-push-software-devices/
Push feature requests
https://forum.ableton.com/viewtopic.php?f=55&t=192110
The Ableton Push is a good platform but it will never realise it's full potential if the software isn't upgraded.

If you are interested in signing up to test the latest Beta version of Ableton please see the following...
https://ableton.centercode.com/signup/

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Saturday, July 4, 2015

Python Decompilation, Max4Live Programming, Ableton Push Colour Calibration, Automated DJ'ing and More

I was recently discussing with someone how Ableton programming/scripting works. This was particularly within the context of the Ableton Push device and possible hacking of other devices to allow for more sophisticated functionality. Apparently, many of the core scripts use Python. They need to be decompiled to allow you to have a proper look at them though. Obviously, some of the scripts are non-tricial and will require a sufficient understanding of both music as well as programming to be useful.

A decompilation of all files in the following directory,
C:\ProgramData\Ableton\Live9Suite\Resources\MIDI Remote Scripts\
is available here. The reason why I've done it is because others who have previously done it have removed it from their websites.

http://julienbayle.net/ableton-live-9-midi-remote-scripts/
http://blogs.bl0rg.net/netzstaub/2008/08/15/writing-ableton-control-surface-scripts/
http://remotescripts.blogspot.com.au/
http://julienbayle.net/PythonLiveAPI_documentation/Live9.0.6.xml

The decompilation was achieved using two small scripts which I created available here and use uncompyle2, https://github.com/Mysterie/uncompyle2 at their core. Since the current code contains an error which doesn't allow for a successful RPM build I've had to make a small modification.

For those who want to know the uncompyle2 currently only works with Python 2.7. To get it running in a Debian based environment I had to change a symlink so that /usr/bin/python -> python2.7 as opposed to /usr/bin/python -> python2.6

To get the RPM build working I had to copy README.rst to README.
Running 'python setup.py bdist_rpm' would give me an RPM package. Running 'alien' allows conversion of the RPM to a DEB package for easy installation on a Debian based platform.
http://sourceforge.net/projects/easypythondecompiler/
http://stackoverflow.com/questions/8189352/decompile-python-2-7-pyc
http://depython.com/
http://reverseengineering.stackexchange.com/questions/1701/decompiling-pyc-files

Successful RPM and DEB packages are available from my website, https://sites.google.com/site/dtbnguyen/
The following ZIP archive contains updated code, RPM, and DEB packages.
The following ZIP archive contains the decompiled code and scripts to automate decompilation of the Ableton code.

For those who are interested, Max4Live programming looks rather interesting for building devices and effects. It also looks like a perfect choice for those who may be on a limited budget and looking to extend Ableton's capabilities.
https://www.ableton.com/en/blog/programming-in-max-for-live/
http://www.youtube.com/playlist?list=PLasl9I6VeCCrNLAoOiKibDqJc1rsjLSDi
http://www.patrickmuller.de/n-e-w-s/max-msp-programming/
https://docs.cycling74.com/max5/vignettes/intro/doclive.html
https://www.ableton.com/en/help/article/how-get-started-max-live-9/
http://www.abletonop.com/2012/07/sell-your-live-devices-on-abletonop/
http://www.synthtopia.com/content/2009/11/24/5-reasons-to-avoid-max-for-live/
http://roberthenke.com/technology/m4l.html
https://cycling74.com/support/faq-maxforlive/
http://community.akaipro.com/akai_professional/topics/apc-mini-sequencers
https://www.youtube.com/watch?v=bmn8eJYEe9s
http://www.maxforlive.com/library/device.php?id=877

There have has been some grumbles regarding Ableton Push quality control (Novaton has sort of had similar problems with their Launchpad series but it hasn't been as obvious because most current models have only relied on a limited set of colours. Note to others this issue isn't actually covered by warranty either and it's a difficult problem to fix from a manufacturing perpsective. Hence, the need for this particular solution.) with regards to inconsitent colouring of LEDs. There was a small application that was created but wasn't publicly released. It's called, 'PUSH_RGB_Calibration_Tool.zip' and basically allows for calibration of white on the device by altering internal colour balance of primary colours. It's available on some file sharing websites. You'll require firmware version 1.7 tor it to run.
https://forum.ableton.com/viewtopic.php?f=55&t=191939&start=45
https://www.ableton.com/en/help/article/push-firmware-release-notes/
https://archive.is/zLbnS
http://filepi.com/i/J9mGlId
https://www.virustotal.com/en/file/687a48127a65226eaae13ded393aafaccee46e445cec33a63964ece921fddb51/analysis/

Someone recently asked me about automated DJ options. I've seen a few but they seem to be becoming increasingly sophisticated.
https://www.youtube.com/results?search_query=how+to+dj
How To DJ - Phil K (Intermediate Level)
https://www.youtube.com/watch?v=4r3Pw8VJtq0
http://www.mixmeister.com/products-comparison.php
http://forum.djtechtools.com/showthread.php?t=21834
http://www.virtualdj.com/wiki/Automix.html
https://www.native-instruments.com/forum/threads/is-there-an-auto-dj-function.28501/
http://djtechtools.com/2012/08/06/what-controller-is-right-for-you-all-in-one-vs-modular-dj-set-ups/

Apparently, some of my ideas and perspectives regarding the modern world and capitalism are similar to that of Thomas Piketty. However, the way in which we would set about rebalancing global economics to ensure a more fair and just global economic system for all is somewhat different. More on this in time...
http://www.smh.com.au/world/pushing-back-on-socialism-ecuador-vents-its-presidential-ire-on-the-streets-20150702-gi3ew2.html
https://en.wikipedia.org/wiki/Thomas_Piketty
https://en.wikipedia.org/wiki/Capital_in_the_Twenty-First_Century
http://blog.melbournemusiccentre.com.au/2011/07/why-are-the-same-or-similar-items-cheaper-overseas/

Some options for puchasing used music equipment locally.
http://www.musicswopshop.com.au/
http://www.yourinstrument.com.au/
http://www.musosales.com.au/
http://melbourneexchange.com.au/
http://www.quicksales.com.au/

In case you've ever wanted to download videos from various websites, there are quite a few options out there.
http://www.clipconverter.cc/
http://keepvid.com/
http://www.flvdown.com/
http://www.flvdown.com/docs.php?doc=api
https://addons.mozilla.org/en-us/firefox/addon/flashgot/
http://sourceforge.net/projects/ytd2/
http://stackoverflow.com/questions/4032766/how-to-download-videos-from-youtube-on-java
http://superuser.com/questions/114196/how-to-find-the-stream-behind-a-flash-player

If you've had minor scratches on your optical discs you know that they can be extraordinarily frustrating. There are quite a few solutions out there for it though.
http://www.wisebread.com/quickly-removing-scratches-from-cds-and-dvds
http://www.wikihow.com/Fix-a-Scratched-CD
http://www.apartmenttherapy.com/7-bizarre-home-remedies-that-r-152502
http://howto.wired.com/wiki/Fix_a_Scratched_CD
http://www.instructables.com/id/Re-surfacing-CDs-so-they-work-again./

If you ever have to use automated imaging/partitioning software sometimes things don't turn out perfectly. Hidden partitions appear when they shouldn't wreaking havoc with links throughout your system. Changing the partition type is the solution though the actual 'type/code/number' may vary depending on the circumstances.
https://forums.lenovo.com/t5/Lenovo-P-Y-and-Z-series/Disk-Partitioning-and-OneKey-Recovery-Feature/td-p/8036
https://forums.lenovo.com/t5/Windows-7-Discussion/How-to-re-hide-OEM-partition/td-p/278948
https://forums.lenovo.com/t5/Lenovo-U-and-S-Series-Notebooks/help-me-with-OKR/m-p/133135#M11494
http://www.smh.com.au/digital-life/digital-life-news/meet-australian-company-ipechelon-one-of-the-biggest-antipiracy-operations-in-the-world-20150430-1mw93k.html

Options for locking down a device in case it is lost or stolen are increasingly popular nowadays even in consumer class devices. It's interesting how far, some companies are willing to take this and what their implementation is like.
http://www.computerworld.com/article/2481347/endpoint-security/the-down-side-of-hard-drive-passwords.html
http://www.tomshardware.com/forum/258614-32-access-password-protected-caddy
http://www.sevenforums.com/hardware-devices/246015-toshiba-hdd-locked.html
http://www.computing.net/answers/hardware/how-to-clear-hard-drive-password/48527.html
http://forum.thinkpads.com/viewtopic.php?t=104873
http://www.freakyacres.com/remove_computrace_lojack
http://en.wikipedia.org/wiki/LoJack_for_Laptops
http://www.pcworld.com/product/1344774/acer-aspire-s3-951-2634g25nss-ultrabook.html
http://www.manualslib.com/manual/546525/Acer-Aspire-S5-391.html?page=56
https://www.technibble.com/forums/threads/unlockhd-exe-help.42725/
http://www.experts-exchange.com/Hardware/Laptops_Notebooks/Q_26614042.html
http://www.allservice.ro/forum/viewtopic.php?p=7958&sid=6d91be00086c530afa8311af27da81c5
http://www.allservice.ro/acer/
http://www.tomsguide.com/forum/61372-35-locked-laptop-harddrive
http://www.techrepublic.com/pictures/cracking-open-acer-aspire-s3-ultrabook/
http://www.techrepublic.com/blog/cracking-open/acer-aspire-s3-teardown-good-hardware-lackluster-construction/

Help evaluate, test, and design Windows 10.
https://insider.windows.com/

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Becoming a Priest/Monk, Random Stuff, and More

- once upon a long time ago I thought about becoming a priest/monk. Today we'll explore what a religious life means. Some people want ...