03:29 | Coburn | Ah, and one thing for the CuBox iSeries, rabeeh . DO NOT LOCK YOUR BOOTLOADER |
03:29 | Coburn | If it's a developer platform, developers should be able to customize the uBoot or bootloader environment to suit their needs. |
03:30 | Coburn | While locking your bootloader is handy for consumers, for developers and geeks like myself, it's just a pain in the butt |
08:37 | dbsx | My contribution for the day - I hate cmake |
08:38 | cbxbiker61 | what's the problem? |
08:39 | cbxbiker61 | works pretty well for me, although i have to patch the cmake files here and there |
08:41 | dbsx | I find it a PIA. I struggle to see what it does that make and config files cannot achieve. Add to that people that provide busted cmake projects. Yet another build system |
08:41 | cbxbiker61 | i'm anti auto config, since it seems really stupid to take "simple" scripts and turn them into long convoluted scripts that run slow |
08:42 | dbsx | agree with that. |
08:42 | cbxbiker61 | well if you're linux only you can do a lot of kewl things with jusg gmake |
08:42 | cbxbiker61 | jusg/just/ |
08:42 | dbsx | agreed |
08:43 | dbsx | I also use a native gmake on windows. Works for me |
08:45 | cbxbiker61 | kde uses cmake, and they've done a pretty good job of it |
08:45 | cbxbiker61 | it's a very large project that builds pretty darn reliably |
08:48 | dbsx | I have just spent a day trying to build (port) a small project, the cmake stuff is bigger than the source code still don't have it working. I have since hacked a native make file that works. So I guess all depends on the author |
08:48 | cbxbiker61 | yes |
08:50 | cbxbiker61 | here's a little insight from Ulrich Drepper (glibc maintainer) about pkg-config and tools http://udrepper.livejournal.com/19395.html |
08:51 | cbxbiker61 | i get really tired of rebuilding stuff simply because the .la files drag in a bunch of unnecessary dependencies |
08:53 | dbsx | Agreed and I read the link. I should write the same for many other projects. I might add that libtool is a horror |
09:00 | cbxbiker61 | one thing I like about cmake, is that building in a separate directory from the source almost always works |
09:01 | cbxbiker61 | autoconf, maybe about half the time it works, mostly due to developers not adding a few extras to the Makefile.am's |
09:01 | cbxbiker61 | then when i search the source tree for something i don't have to waste time searching object/binary files |
09:02 | dv_ | autoconf seems so brittle to me |
09:02 | dv_ | but then again, I prefer waf |
09:03 | dbsx | yes, but you can do that easily also with GNU make. I worked on an embeded project that builds for about 20 different targets. All simple makefiles with object into objdirs - faultless |
09:03 | dbsx | what is waf |
09:03 | dbsx | ? |
09:03 | dv_ | a build system |
09:03 | cbxbiker61 | yeah the python tools can be pretty good |
09:04 | dv_ | it too has its ugly sides, but overall it has the best cost/benefit ratio for me |
09:04 | cbxbiker61 | at least they don't explode the config scripts into a pile of crap |
09:09 | dbsx | Maybe it comes down do time spent in initial development versus time spent bug finding and fixing. |
09:10 | dv_ | what I like about a python based build system is the use of a tried-and-true language |
09:10 | dv_ | which also allows you do be very flexible |
09:11 | cbxbiker61 | one of these day's i'm going to figure out how to get my 3d blurays written to disk in a format that xbmc can handle |
09:11 | dv_ | for example, with EGL/GLES stuff, the linker and compiler flags can vary significantly per device |
09:11 | dv_ | python is very useful there |
09:12 | cbxbiker61 | dv_, yeah python is my preferred non-copiled language |
09:12 | cbxbiker61 | compiled |
09:12 | cbxbiker61 | if i can do it in python i will |
09:12 | dbsx | dv_: python can be good (plenty of examples), and then we have the python junk that makes up bluez utilities which is just awful |
09:14 | dbsx | For embedded script, I am a Lua/Luajit convert. |
09:14 | cbxbiker61 | python is really hard to beat for gluing the bigger binaries together |
09:15 | cbxbiker61 | dbsx, they really choked on the lua 5.1 to lua 5.2 conversion though |
09:15 | cbxbiker61 | way too many incompatibilities |
09:15 | cbxbiker61 | 5.2 should've been named 6.0 |
09:19 | dv_ | dbsx: sure |
09:19 | dv_ | dbsx: you can always write awful code in any language :) |
09:20 | dbsx | I have not had too much trouble in the transition to 5.2. Lua is different. Not so much a standalone interpreter, but very cool for "embedding" script inside C/C++ projects. i.e. C calls lua, lua in turn call C. And finally products that have embedded Lua tend not to upgrade. I think Adobe lightroom is Lua 5.0 (maybe Lua 4) |
09:21 | cbxbiker61 | for a while I was making the changes to lua code in vlc so the code would work in 5.2 |
09:21 | cbxbiker61 | but i got tired of fixing it every time someone wrote more 5.1 code |
09:22 | dbsx | dv_: send that |
09:22 | dbsx | s/send/second/ |
09:23 | dv_ | you know what I would like to see? |
09:23 | dv_ | html5 with lua instead of javascript |
09:23 | dbsx | go for it |
09:23 | dv_ | that sweet luajit in the html renderer |
09:24 | dv_ | tiny (less than a meg compiled), and regularly beats native code performance-wise |
09:24 | dbsx | would be nice |
09:24 | cbxbiker61 | my canon camera with chdk runs lua, perfect for that application |
09:25 | dv_ | the only thing I dislike in lua is the notion of having 1 as the start index in arrays instead of 0 |
09:26 | dbsx | lua - small, fast write your own library or hardware interface. python/perl - large, resource hungry, great library support. It all depends on what you are doing. |
09:27 | dv_ | lua is supposed to be embedded |
09:27 | cbxbiker61 | i found a bug in gcc-linaro that was mis-compiling switch jump tables with -fPIC or thumb2 mode |
09:27 | dv_ | no wonder it doesnt really have libraries |
09:28 | cbxbiker61 | i don't know how it was missed for so long, but they were considering 0x200 to be the overflow of an 8-bit value rather than 0x100 |
09:29 | dv_ | 0x200 for 8 bits with very big bits |
09:29 | cbxbiker61 | you had to have a fairly large jump table before it was triggered |
09:30 | cbxbiker61 | my assembler spat out an error when it tried to stuff 256 into 8 bits |
09:32 | dv_ | heh. reminds me of this nice case where one guy was puzzled why the value 371 fit into one byte |
09:32 | dv_ | turns out he wrote 0371 |
09:32 | dv_ | or 249 in decimal |
09:35 | dbsx | my favorite C Bug: |
09:35 | dbsx | if (condition) ; /* comment */ |
09:35 | dbsx | dosomething() |
09:35 | dv_ | haha |
09:36 | dbsx | maybe the author was a bash person |