methril has quit [Remote host closed the connection]
Freemor has left #qi-hardware [#qi-hardware]
gbraad has joined #qi-hardware
gbraad has quit [Changing host]
gbraad has joined #qi-hardware
Calyp has quit [Read error: Connection reset by peer]
Calyp has joined #qi-hardware
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer06 has joined #qi-hardware
DocScrutinizer06 is now known as DocScrutinizer05
kristianpaul has quit [Ping timeout: 264 seconds]
kristianpaul has joined #qi-hardware
kristianpaul has joined #qi-hardware
megha has quit [Ping timeout: 246 seconds]
megha has joined #qi-hardware
megha has quit [Ping timeout: 256 seconds]
megha has joined #qi-hardware
megha has quit [Quit: WeeChat 0.4.0]
jekhor has joined #qi-hardware
gbraad has quit [Ping timeout: 264 seconds]
jekhor has quit [Ping timeout: 245 seconds]
kilae has joined #qi-hardware
gbraad has joined #qi-hardware
gbraad has quit [Changing host]
gbraad has joined #qi-hardware
<kyak>
viric: i just submitted a patch for "mark all as read" button. For now it's per feed. If it goes well, i'd like to have the same button on the main page to mark all items in all feeds as read :)
apelete has joined #qi-hardware
mth has quit []
mth has joined #qi-hardware
C-Keen has left #qi-hardware [#qi-hardware]
<viric>
kyak: perfect! :)
<viric>
I'll check it
unclouded has quit [Ping timeout: 245 seconds]
jekhor has joined #qi-hardware
wolfspraul has quit [Ping timeout: 245 seconds]
<kyak>
viric: i submitted a little something to improve the visibility of feeds that have new items
<kyak>
viric: for UI, what do you think about having something like "[12/53]" instead of (Unread: 12; Total: 53)?
wolfspraul has joined #qi-hardware
wolfspraul has quit [Ping timeout: 256 seconds]
wolfspraul has joined #qi-hardware
rz2k has joined #qi-hardware
wolfspraul has quit [Quit: leaving]
LunaVorax has quit [Remote host closed the connection]
jekhor has quit [Ping timeout: 256 seconds]
kilae has quit [Ping timeout: 246 seconds]
wolfspraul has joined #qi-hardware
sb0 has joined #qi-hardware
<sb0>
wolfspraul, I don't expect anything from hackable devices anymore... company is a mess, key people left, etc. - actually I should remove the link from milkymist.org, which is now 404 and there isn't M1 on their website anymore...
dlan^ has joined #qi-hardware
<sb0>
wolfspraul, btw are you getting wolfgang@sharism.cc emails, even when the site is down?
sb0 has quit [Quit: Leaving]
lekernel has joined #qi-hardware
<wolfspraul>
yes, I should get them
<wolfspraul>
ok, I see about h:d. well then :-)
<lekernel>
so I direct him to sharism.cc?
<wolfspraul>
yes please
<lekernel>
ok, thanks!
<lekernel>
btw I just ordered a papilio pro to try out fpgatools
<wolfspraul>
nice
<wolfspraul>
I haven't done any commits in 2-3 weeks I think, urgh... but that is encouraging so I shall continue
<wolfspraul>
I need to finish some urgent paperwork first though
<wolfspraul>
once that is settled there is more time for fpgatools again
<wolfspraul>
the next item on the todo list was block-ram
pcercuei has joined #qi-hardware
<viric>
kyak: fine
<viric>
kyak: I'm traveling these days; I hope at the evening take a look
<kyak>
viric: sure, fine
dlan^ has quit [Remote host closed the connection]
LunaVorax has joined #qi-hardware
gbraad has quit [Ping timeout: 256 seconds]
rz2k has quit []
<kyak>
viric: heh, some of my feeds easily get >300 items per day. You create a separate file for each item - multiply it by two for a separate file for the "read" status. This can get pretty insane soon
<kyak>
sqlite?
<kyak>
i get 600 items per day in average, maxing to 900 (according to google reader statistics)
LunaVorax has quit [Remote host closed the connection]
<kyak>
i don't like the fact that my hard drive would get 1000+ new files every day
<viric>
what's wrong with the files?
<viric>
I didn't want to implement a sync protocol
<lindi->
at least ext3 is very slow at removing files
<viric>
that's the point in using files: unison
<viric>
I'm not sure how to handle 1000+ rss posts every day
<kyak>
for example, by using a database
<kyak>
maybe one per feed
<kyak>
but two files per one post? that's too fat...
<kyak>
Implementing a database now would be too destructive. But at least you could rename the same file to *.read.
<kyak>
thus having two times fewer files
<kyak>
i'm starting to realize how different our use cases are :)
lekernel has quit [Quit: Leaving]
lekernel has joined #qi-hardware
rz2k has joined #qi-hardware
jekhor has joined #qi-hardware
<hellekin>
http://unvrso.ec/0004USK First Ecuadorian satellites, coming to your neighborhood orbit next May :)
LunaVorax has joined #qi-hardware
jekhor has quit [Ping timeout: 256 seconds]
pcercuei has quit [Quit: Bye]
mwcampbell has joined #qi-hardware
<mwcampbell>
Pardon the newbie question, but what input method(s) does the Ben NanoNote have?
<mwcampbell>
Also, what are the dimensions and weight?
<mwcampbell>
and typical battery life
<mwcampbell>
the web page (at least the English one) is a little short on info
<mwcampbell>
never mind, found more info
<mwcampbell>
Is the Ben NanoNote still being manufactured?
<kyak>
it can have whatever input methods you configure it to have. You can read here http://en.qi-hardware.com/wiki/I18n about what's already included in the default software
<kyak>
basically, it's russian input in linux console and qt4 applications, and a bunch of "weird" input methods supported by kinyin
<larsc>
mwcampbell: well, it's still being sold
<mwcampbell>
I'm sorry, I was unclear. I meant to ask what input devices. Looks like it has a small ekyboard.
<kyak>
is full-size keyboard via ssh considered an inputs device? :)
<mwcampbell>
I'm guessing that the keys on the built-in keyboard are quite small.
<mwcampbell>
Here's a crazy hardware hacking idea. I wonder if an 8-dot braille keyboard would be more efficient on a device as small as the NanoNote
<mwcampbell>
8-key, I mean
<mwcampbell>
of course, the user of such a device would need to know how to enter braille, though not how to read it
<kyak>
the keys are bigger than those on my cell phone
<mwcampbell>
ah, OK
<kyak>
you don't get to type with 10 fingers of course
<larsc>
two thumb typing
<kyak>
the front picture shows "Ben on hand". Is it enough to get an idea about the keyboard size?
<mwcampbell>
yes
<mwcampbell>
From the picture, it looks like the Ben has a graphical display, but I haven't yet found any info about the GPU.
<mwcampbell>
Is it just a frame buffer?
<larsc>
it's just a frame buffer
<larsc>
no hw acceleration
<larsc>
although the cpu has some simd instructions
<mwcampbell>
I read that the hardware design is copyleft. Does this include the CPU itself?
<larsc>
no
<larsc>
only the pcb and case
<mwcampbell>
Then I wonder why Qi Hardware chose a MIPS-compatible processor over a more powerful ARM-based one.
<mwcampbell>
The Raspberry Pi has a more powerful processor and more RAM and is cheap.
<mwcampbell>
I'm not criticizing; I'm just curious.
<larsc>
the nanonote is much older than the rpi
<whitequark>
mwcampbell: raspberry pi is mainly cheap due to broadcom's deal
<whitequark>
well, you won't be surprised that broadcom would provide cheap processors to itself.
<mwcampbell>
So I'm trying to decide if the NanoNote still occupies a useful niche, and whether I should buy one. If one looks only atht epsecs, it's quite underpowered for its price ($149 on Sharism).
<mwcampbell>
But I can see the value in a small device with a battery, a screen, a keyboard, USB, and audio, that's designed to run free software.
<viric>
kyak: :) I'm not sure unison can handle renames
<viric>
but I use to think that filesystems are good databases.
<whitequark>
viric: but they don't (commonly) have transactions.
<whitequark>
NTFS has them
<viric>
they have some atomic operations.
<whitequark>
ACID
<viric>
?
<whitequark>
a database is made by Atomicity, Consistency, Isolation, Durability
jekhor has joined #qi-hardware
<whitequark>
journalling filesystems provide C and D
<whitequark>
and, sometimes, A
<viric>
sometimes databases are in files in filesystems
<larsc>
whitequark: why not I?
<whitequark>
larsc: example of contrary?
<whitequark>
viric: you said that filesystems are good databases ;)
<viric>
for my broad understanding of 'databases' :)
<whitequark>
well, some people think of MongoDB as of a database. so maybe filesystems are just bad databases.
<larsc>
whitequark: well it gets problematic I guess if two transactions work on the same set of files
<whitequark>
larsc: that is the point of isolation.
<whitequark>
this also gets in the way of building real software.
<whitequark>
paul_boddie: re shedskin. yes. there is no practical value in building a general dynamic-to-static compiler for dynamic languages without homomorphic data storage structures.
<whitequark>
on the contrary, I'm building a compiler for static language which tries to look like a dynamic language with some interesting tricks
<whitequark>
like transparent generalization/specialization of parametric types and ad-hoc typeclasses (aka duck typing in static languages).
<paul_boddie>
mwcampbell: As far as the input devices are concerned, it's really only the keyboard. There's no pointing device.
<paul_boddie>
mwcampbell: Longer answer: if you can find a USB Host device to plug into the USB port (or maybe some kind of SDIO device to plug into the microSD port) that can control the Ben, and then get drivers written for those devices, then that might be a solution.
<paul_boddie>
whitequark: Well, you mentioned Starkiller, so I had to point out Shedskin because it is pretty much what Starkiller was advertised to be. Of course, Starkiller was never released publicly.
<mwcampbell>
I don't need a pointing device; just wanted to know more before I buy.
<whitequark>
paul_boddie: wasn't it? I have seen a paper.
<mwcampbell>
What concerns me more is that I haven't seen any news newer than 2010 on the English Qi Hardware home page. Has Qi Hardware already given up on the NanoNote?
<paul_boddie>
As someone who bought a Ben only last year, knowing that the average smartphone is more powerful (faster CPU, more RAM, better screen, more convenient connectivity, built-in sensors...), my motivation was to get an open device that encourages experimentation. Thus, I've been playing around with the 8:10 port and Arduino-level electronics.
<paul_boddie>
whitequark: I met the author at a conference in 2005 which was already a year or more after he presented it, and although he seemed like a nice and helpful guy, he seemed a bit jaded with answering questions about it and seemed to have "moved on" from it.
<whitequark>
paul_boddie: um, yes? it was a research project after all.
<whitequark>
he got his ph.d or whatever, that was the whole point
<paul_boddie>
whitequark: I got the impression that the code was rather "proof of concept" and there were probably lots of areas that needed filling in, and my impression was that he wasn't interested in doing that any more.
<whitequark>
most of academic work is like that
<whitequark>
he didn't really need the result of his work. he needed a degree ;)
<paul_boddie>
I also don't think it helped that every time someone does a project like that, lots of people in the Python community whine about it not supporting every last stupid feature introduced into Python since 2000.
<whitequark>
nice guy... I don't think so, actually. his work is heavily based on Ole Agesen's thesis--he didn't really improve it much, although he did several trivial things--and yet there was a lot of very disrespectful statements about said Ole Agesen and his work in his thesis.
<whitequark>
I think it's the only paper I have ever read written in such a style.
<paul_boddie>
So, any motivation to make a usable solution just wasn't there, and so he called it a day and moved on, I guess. It's also possible that MIT messed him around with the copyright, but I wouldn't know.
<whitequark>
paul_boddie: it isn't really possible to make a 'usable' solution, or what the Python community would deem as one, for the problem of compiling generic Python code to C++
<paul_boddie>
Well, I meant that he was fairly reasonable in person, but I do remember that his presentations were a bit provocative. Maybe he backed away from the whole thing after realising he couldn't deliver what he had promised.
* whitequark
has also observed that the thesis was likely written with a thesaurus in the other hand. It wouldn't otherwise explain pervasive--several per page--and unnecessary use of words I don't know.
<paul_boddie>
Shedskin, on the other hand, does a decent job of what it claims to do, and I think that the thesis connected to it is probably more informative. If I remember correctly, it builds on (or references) work by a guy called John Plevyak.
<whitequark>
John Plevyak, Andrew A. Chien: Precise Concrete Type Inference for Object-Oriented Languages. OOPSLA 1994: 324-340 ?
<whitequark>
oh, yeah, I have read it
<paul_boddie>
Not sure. I didn't actually read any of the papers. ;-) But I did discuss some of this with the author of Shedskin because I was also looking at static analysis.
<whitequark>
I have independently rediscovered most of the results in it, and using them heavily in my work
<whitequark>
though his Function Splitting technique, as I understand it, is less efficient than CPA
<whitequark>
Ole Agesen's thesis was written later than Plevyak's article.
<paul_boddie>
mwcampbell: We've been discussing the situation with the NanoNote on and off on the qi-hardware discussion mailing list, but I'm not sure that there's any momentum as far as the hardware roadmap is concerned.
<whitequark>
what I don't believe in his work at all is Container Splitting
<whitequark>
it only works as expected for trivial inputs.
<paul_boddie>
whitequark: I think Plevyak had a project on SourceForge to apply his more recent work to Python, perhaps, but I don't think it went anywhere.
* whitequark
shrugs
<whitequark>
I'll explain
<whitequark>
there are two problems with trying to infer the type of the container
<whitequark>
first, it introduces "action at the distance". a type inferencer can pass a type through a very long chain of functions, for example
<whitequark>
but so far (when you only infer types of functions), it is not much of a practical problem as you can pinpoint the problematic part and trace (manually) where the type came from
<whitequark>
however, if you infer types of the container, you cannot. it was inferred at some point in the past and you don't really know which.
<whitequark>
second, it has a lot of edge cases like tuple keys where different types parts of the tuple type get inferred from different parts in the problem
<mwcampbell>
whitequark: Couldn't the inferencer be instrumented to tell you how it inferred the type?
<whitequark>
mwcampbell: it could, however, these traces are mostly unreadable
<whitequark>
i.e. Haskell's error messages are often hard to parse.
<whitequark>
the third and most important problem is that Python promises you heteromorphic containers
<whitequark>
and you won't get any when you're using such a compiler
<whitequark>
unless you use union types, that is, which come with their own set of problems
<whitequark>
most important of which is the danger of inferring a correct, but useless, union type of any existing type in the problem, for every expression in your program.
<mwcampbell>
That last part makes sense to me.
<whitequark>
mwcampbell: that is why there can not be a compiler of generic python code.
<mwcampbell>
It seems to me that the most sensible way to get monomorphic containers in a language like Python would be to add type annotations of some kind.
<mwcampbell>
Either in the language, like in Python 3, or in docstrings
<paul_boddie>
A few years back, when I was first talking to the Shedskin author about this, I was experiencing some difficulties with a solution I was developing, and he then introduced me to the notion of data polymorphism which conveniently put a name on a problem I was having trying to specify every last aspect of any given program.
<whitequark>
paul_boddie: an observation which might help you:
<whitequark>
in object-oriented dynamically typed systems data polymorphism can almost completely be divided into two categories:
<paul_boddie>
I think the whole experience demonstrated why in languages like OCaml, you end up having to declare your structures' types even though the language supports type inference.
<whitequark>
1) subtyping polymorphism, which we fortunately know how to compile (C++ vtables)
<mwcampbell>
whitequark: I've been thinking lately about subsetting or otherwise adapting dynamic languages for ahead-of-time compilation. I never thought my thoughts on that would dovetail with a discussion on this channel. :)
<whitequark>
2) interface polymorphism, which we also know how to compile, more or less
<whitequark>
it gets more compilcated when interface polymorphism appears in the form of duck typing and/or there is a need to be able to present a stable ABI
<whitequark>
but I think I've solved that
<whitequark>
mwcampbell: there is a channel ##foundry and also a mailing list.
<paul_boddie>
My interests have probably moved fairly generally in the direction of interfaces, or at least have given me an appreciation for them and why they exist.
<paul_boddie>
Anyway, I'm sure we'll hear more about this later. Have to go.
<mwcampbell>
If there were a NanoNote-like device based on the completely unencumbered LM32 architecture, I'd buy it now
<mwcampbell>
In the meantime I guess I can show Qi Hardware my interest in the concept of a completely free pocket computer by buying the Ben and finding something useful to do with it
<mwcampbell>
The Ben has no moving parts (e.g. fans), correct?
<whitequark>
yea
<mwcampbell>
Well, that eliminates one possible cause of buyer's remorse. :)
<mwcampbell>
(I don't like noisy fans)
kuribas has joined #qi-hardware
<mwcampbell>
Have any other operating system kernels been ported to the Ben? Or any toolchains for writing applications that run on the bare metal?
<mwcampbell>
It seems to me that a general-purpose OS with preemptive multitasking, like GNU/Linux, is overkill for a relatively underpowered device like the Ben
<mwcampbell>
I used to hack in assembler on an old Apple IIGS, even learning how to directly manipulate the graphica framebuffer and some other hardware. Maybe a completely open device like the Ben will inspire me to do that kind of hacking again
<unclouded>
doesn't seem that way to me. doesn't Linux still run on a 10 MHz 386 with 2 MB of RAM?
<mwcampbell>
Does it? I don't actually know.
<unclouded>
I just powered up my Ben. it's using 13MB after I stopped mpd, although it's seems that I've got ntp running on there too
<unclouded>
as for the CPU power, it plays transcoded video faultlessly, which is pretty impressive
<mwcampbell>
You're using it as a portable music player?
<unclouded>
yes, music and video player for my little one
<mwcampbell>
ah, nice
<unclouded>
ah, it's running dropbear ( SSH) too, hence the high RAM usage
<mwcampbell>
Do you know how long the battery lasts whe ndoing continuous audio playback with the screen turned off?
<unclouded>
no idea. the only time I've ever run the battery out is when I forget to turn it off. I think 10h might be right
kuribas has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<mwcampbell>
It doesn't have a built-in speaker does it?
<mwcampbell>
(I just ordered my Ben)
<unclouded>
and if you want to play with graphics next to the metal, /dev/fb0 is waiting for you
<unclouded>
yes, mono
<mwcampbell>
oh, nice
<unclouded>
although SDL will probably give you an easier ride for using the framebuffer
<mwcampbell>
I might use it for listening to audio books then
<mwcampbell>
I mean, it would be an expensive audio player if that was all I planned to do with it
<unclouded>
it's a cute little device. I only started appreciating how good the keyboard is after using a few physical phone keyboards
<mwcampbell>
Good to know it's well built.
<unclouded>
be advised of the strange arrangement of pixels in the LCD though. you'll never notice when playing video but small fonts can look a bit fuzzy
<mwcampbell>
Because I'm impatient, can you please find out if it runs espeak (a speech synthesizer) fast enough for real-time text-to-speech?
<unclouded>
I'd never built OpenWrt from scratch before the Ben. I'd recommend it. It's easier than you might think and empowering
<unclouded>
I wouldn't have a clue, although if an Amiga 500 can do it then then Ben ought to be able to
<mwcampbell>
I'll wait until I get mine then
<unclouded>
it can also run a C64 emulator if you're so inclined, although it doesn't cope well with games that require lots of per-pixel scrolling
<mwcampbell>
An Apple II emulator would be more to my liking.
<unclouded>
and of course you should only run games that you already have a license to ( and let's face it - why would you want to run any others since it's for nostalgia anyway)
<unclouded>
perhaps you could port an Apple II emulator if one is not already packaged?
<mwcampbell>
I don't think I want one that bad.
<mwcampbell>
I do have a couple of possible projects in mind
<unclouded>
it might not even be much work if the emulator uses SDL
<mwcampbell>
I'm pretty sure I've seen one that does
<mwcampbell>
Assuming espeak works, my first project will be a talking audio player and text file reader.
<whitequark>
unclouded: (linux) tried that a few years ago with 8MB 386
<whitequark>
didn't run but could also be dead hardware
<whitequark>
tried also 486 with 24MB
<viric>
kyak: ok all applied :)
<viric>
kyak: thank you for the patience
<whitequark>
it won't detect the IDE drive
<unclouded>
shame. I wonder why. I would have thought that bog-standard access to the AT task file would have been left in Linux
<whitequark>
AT task file?..
<whitequark>
I've no idea what you're talking about
<whitequark>
though I don't really want to know
<mwcampbell>
Can anyone here tell me what I need to buy to add WiFi to the Ben? It looks like it can be done via an SDIO card
<whitequark>
mwcampbell: to my knowledge, there is no way to.
<mwcampbell>
I'm glad I just bought my Ben. I can't speak for other software developers, but I think I've been spoiled by the sheer power of PC hardware. It will be interesting to see what useful applications I can develop for the Ben.
<paul_boddie>
I also saw that the legendary Xiangfu had a mobile wireless router running a custom OpenWrt build and providing "Ethernet over USB" to the Ben.
<roh>
well.. you can use such a small wifi router providing ip via usb. sure.