2013-03-27
[Technology] Amenities
One nice thing that will come shifting away from Google web services will be the ability to define <tt> as a quick formatting function (shortcut key or toolbar button) for the blogging interface. Hooray!
[Technology] Vala and simply returning structures from functions
So, earlier today I was working on binding malloc_stats and mallinfo from malloc.h for Vala by hand-writing a simple .vapi file. Interestingly, mallinfo () returns a structure, struct mallinfo. Apparently, Vala doesn't like having a method and a structure with identical identifiers, so I renamed the struct to Mallinfo.
[CCode (cheader_filename = "malloc.h")]
public Mallinfo mallinfo ();
[CCode (cname = "struct mallinfo", cheader_filename = "malloc.h")]
public struct Mallinfo {
...
}
However, with that, my calls in Vala to mallinfo,
Mallinfo info = Malloc.mallinfo ();
were transformed into C code like
mallinfo (&_tmp26_);
when in reality, it should be
_tmp26_ = mallinfo ();
After googling a little, I found this, https://mail.gnome.org/archives/vala-list/2010-April/msg00051.html
Basically, I wanted to add the attribute [SimpleType] before my structure's definition. Whoops. I had spent a fair amount of time studying the [CCode] attributes, hoping that there was one that controlled how a return value was returned (parameter or simple return). Oh well!
[CCode (cheader_filename = "malloc.h")]
public Mallinfo mallinfo ();
[CCode (cname = "struct mallinfo", cheader_filename = "malloc.h")]
public struct Mallinfo {
...
}
However, with that, my calls in Vala to mallinfo,
Mallinfo info = Malloc.mallinfo ();
were transformed into C code like
mallinfo (&_tmp26_);
when in reality, it should be
_tmp26_ = mallinfo ();
After googling a little, I found this, https://mail.gnome.org/archives/vala-list/2010-April/msg00051.html
Basically, I wanted to add the attribute [SimpleType] before my structure's definition. Whoops. I had spent a fair amount of time studying the [CCode] attributes, hoping that there was one that controlled how a return value was returned (parameter or simple return). Oh well!
[Technology] Using GMail from Evolution: labels and folders
I'm testing out using GNOME's mail client, Evolution, to manage my
GMail. I've been uncertain how GMail labels would play with Evolution's
folders, so reading this guide helped me out:
http://thegreyblog.blogspot.ca/2009/06/configuring-evolution-for-gmail.html
GMail. I've been uncertain how GMail labels would play with Evolution's
folders, so reading this guide helped me out:
http://thegreyblog.blogspot.ca/2009/06/configuring-evolution-for-gmail.html
- Basically,
every label becomes a folder. - You can label a message by copying it
into the corresponding folder. - If you move a message, you remove the
label from the originating folder and replace it with the destination. - Inbox is a label and a folder.
- To archive something from the inbox,
just move it away from the Inbox folder/label, which can easily be done
by deleting it, moving it to the Evolution trash (but not the GMail
Trash label/folder). - Deleting a message only removes it from the folder
you're immediately deleting it from (removing that label), and because
all mail arriving in GMail is automatically labelled with All Mail, you
still retain a copy there. - If you want to truly delete a message, you'd
label it with GMail's Trash label (move or copy it into that folder). - It will actually stick around in your other labels/folders for 30 days
(unless you remove it from each one), but then be completely purged from GMail (and thus the other labels).
2013-03-24
[Technology] Computing Independence Project
That's not a real project name (well, it might be, but it would be someone else's).
Largely due to the inevitable Breaking of Trust between Google and myself (that is, their cancelling of Google Reader), I'm compelled to re-establish my technological independence, which is to say I need to shift myself towards open source solutions that I control.
In the short term, it will mean finding or creating open source software that handles my common tasks. One interesting challenge is, because I now use a mobile phone, I can't rely simply on desktop applications, of which many exist. I can't simply use Evolution for my calendar, or Liferea for RSS reading, because I want to be able to have that information available and synchronised with my phone.
I don't think I'll find a perfect solution in a timely manner, but I need to at least start moving in that direction. It's not just for my benefit; I feel like it's preferable for users to not be at the mercy of a distant party who controls both access to your data and access to the software you use with it. Very importantly, it needs to be easy to switch to and use. A solution isn't a good alternative if a user has to read a manual and spend half a day setting something up.
Here are some things that I want
I've been surprised that after a decade of waiting, Google still hasn't released a good task/todo list manager. In some ways, I've been holding back my digital management of tasks because of this. I've used a few different apps, but they haven't had good synchronisation between my desktop experience and my phone experience. Google provided a token Tasks pop-up in Gmail and hasn't done much since. I'm generally better off e-mailing myself to-do items, using the calendar to schedule some, and a spreadsheet to collect long term goals. It's a mess.
PicasaWeb has already been scheduled for sunsetting, but that was nominally alright because Google+ subsumed that functionality. I was initially wary that G+ would be cancelled soon (like Wave) but as it became more integral to the identify portion of Google, I thought I'd be safe. Given that Reader has been cancelled despite having more active users than G+, I'm not sure my photos are really safe there.
One problem with hosting my own photos is bandwidth. I'm with TekSavvy, but I'm not sure what experience running a webserver sharing my photos will give. I'm not sure how to make albums easily sharable on existing social networks. I'd like photo to still be instantly uploaded from my mobile device to the photo sharing service.
At the very least, I could back-up regularly all my album information from G+/PicasaWeb right now, so I could recreate them later when I absolutely had to. I wouldn't really need to re-download most photos because they're generally already saved to my hard drive, save some that were web-edited.
Oh boy. I really do like Blogger. Ah well!
Basically, I need to do a lot of research for existing options. Of course I don't want to create anything new or large. I just want to identify major entities that have promising futures. (At least with open source, if they're future collapses, what you've already had isn't taken away from you.)
Let me know if there's any sort of web activity that I might want to re-evaluate. I'd be happy to hear your suggestions.
Largely due to the inevitable Breaking of Trust between Google and myself (that is, their cancelling of Google Reader), I'm compelled to re-establish my technological independence, which is to say I need to shift myself towards open source solutions that I control.
In the short term, it will mean finding or creating open source software that handles my common tasks. One interesting challenge is, because I now use a mobile phone, I can't rely simply on desktop applications, of which many exist. I can't simply use Evolution for my calendar, or Liferea for RSS reading, because I want to be able to have that information available and synchronised with my phone.
I don't think I'll find a perfect solution in a timely manner, but I need to at least start moving in that direction. It's not just for my benefit; I feel like it's preferable for users to not be at the mercy of a distant party who controls both access to your data and access to the software you use with it. Very importantly, it needs to be easy to switch to and use. A solution isn't a good alternative if a user has to read a manual and spend half a day setting something up.
Here are some things that I want
- a personal data store that I can host myself
- needs to store calendaring data, mail, contacts, tasks, RSS items, perhaps even photos, and basically the state of any application information
- needs to be "secure"
- a set of mobile apps that can access my data
- they need to be open source
- right now, run on Android
- a set of desktop/web apps that can access my data
- right now, run in GNOME or Firefox
- ideally, they should be able to replicate all my favourite functionality
Task Management
I've been surprised that after a decade of waiting, Google still hasn't released a good task/todo list manager. In some ways, I've been holding back my digital management of tasks because of this. I've used a few different apps, but they haven't had good synchronisation between my desktop experience and my phone experience. Google provided a token Tasks pop-up in Gmail and hasn't done much since. I'm generally better off e-mailing myself to-do items, using the calendar to schedule some, and a spreadsheet to collect long term goals. It's a mess.
Photo Sharing
PicasaWeb has already been scheduled for sunsetting, but that was nominally alright because Google+ subsumed that functionality. I was initially wary that G+ would be cancelled soon (like Wave) but as it became more integral to the identify portion of Google, I thought I'd be safe. Given that Reader has been cancelled despite having more active users than G+, I'm not sure my photos are really safe there.
One problem with hosting my own photos is bandwidth. I'm with TekSavvy, but I'm not sure what experience running a webserver sharing my photos will give. I'm not sure how to make albums easily sharable on existing social networks. I'd like photo to still be instantly uploaded from my mobile device to the photo sharing service.
At the very least, I could back-up regularly all my album information from G+/PicasaWeb right now, so I could recreate them later when I absolutely had to. I wouldn't really need to re-download most photos because they're generally already saved to my hard drive, save some that were web-edited.
Blogging
Oh boy. I really do like Blogger. Ah well!
Mail, Calendaring, Office, etc.
Basically, I need to do a lot of research for existing options. Of course I don't want to create anything new or large. I just want to identify major entities that have promising futures. (At least with open source, if they're future collapses, what you've already had isn't taken away from you.)
Let me know if there's any sort of web activity that I might want to re-evaluate. I'd be happy to hear your suggestions.
[Technology] Playing with technology
Last year I acquired a nice, free Sanyo television from the OCUS
lounge. It is a CRT, but it's 36" and has good picture and sound
quality. It did not come with a remote control, but I seldom used a
television, except to watch the occasional film or anime episode with
friends, so I never really minded.
TV Usage
Recently,
however, I moved to and now have a housemate or two, and I have
discovered the YouTube app for Wii. Also, over the past two years, I've
finally interested myself in Internet video, largely in part to
Nerdfighteria (Vlogbrothers, the Lizzie Bennet Diaries, Crash Course,
SciShow, the Brain Scoop, etc.) So, now the TV has two new uses:
feeding a housemate's insatiable urge for Netflix, and becoming a
preferred way to enjoy my YouTubery.
One issue that's
been had is variable volume. A video is too quiet, so we turn it up,
manually, and then afterwards, the television is too loud. Or, we turn
off the Wii, but then the TV is still on, and people leave it on. An
unused, on TV is a tragic waste of energy.
Dollarama
So,
today I was in Dollarama and saw they sold a $2 Universal Remote, the
Electra RM-V301 (which supposedly works identically to Sony's RM-V301).
Since I hadn't found one previously at the local thrift stores, I
acquired it. Also, I found that Dollarama now sells $2 pairs of
rechargeable batteries branded as Sunbeam. Despite traumatic memories
of the portable phone battery I had purchased from a dollar store in the
Quebec St. Mall which started smoking once used (and instantly killed
the portable phone), I decided that Sunbeam (and Dollarama) were just
reputable enough that I would risk their rechargeable batteries in my
battery charger and this universal remote. What's the worst that could
happen? Death? Pa!
Remote programming
Once
home, I was initially disappointed to discover that none of the codes
for a Sanyo television worked correctly. The first would do things to
the TV, but all the wrong things, and none of the others had any
response. I ended up doing the code search technique, which after going
through 120 codes or so had no reaction (even though I should have
encountered some reaction when I hit the one that worked incorrectly). I
remained hopeful that I could find a code set for the remote that could
effectively control the TV, though, as I've had good luck in the past
with remote controls working across brands.
Eventually,
I started applying the stupid brute force method of attempting them all
starting from 000 and going up. Eventually I found a working code:
025. Much to my chagrin, though, the code was one of the ones originally listed for my television. I clearly recall trying it a
few times. I believe it may have failed because my attempts to push the
buttons were inaccurate; they're these floppy rubbery things that leave
you doubtful of whether the press registered, and there is no red light
to provide feedback either.
Thoughts
So, that might seem pretty boring, but it leaves me with some thoughts.
It's
interesting that televisions all end up with their own sets of infrared
signals to control them, though one brand will reuse a small set of
them. It's interesting that some brands will use compatible sets, which
is probably intentional. However, there's no apparently attempt to
standardise the codes. I would imagine you could create a code set that
was extensible for the future but mostly standard, and yet there's no
real pressure for it.
If there was a standardised
control set, then people could more easily substitute controls, which
would be nice. The universal remote market would probably shrink, but
it would also be simpler, and perhaps people could have fewer remotes in
their homes to begin with.
I also find it interesting
that universal remotes are primarily simple, dumb, closed devices. I
briefly tried to search for discussion on how to reprogram the codes on a
universal remote. The first code that I had tried that did not
correctly work but had a response was 054. I can imagine having a mode
on the phone to calibrate a remote for a particular TV. Perhaps first
you'd program power, and you'd press power, and it would send a signal,
and then you'd affirm or deny it whether it worked, and then after
finding the signal for power, you'd move to channel up and down, volume
up and down, numbers, and then perhaps a few other common ones. It
would end up requiring a lot of time for the user, but it would help
guarantee that the device could remain useful for many more cases and scenarios than were originally anticipated.
Alternatively,
it would be nice if modern universal remotes could interact with a
computer and be reprogrammed from there. A little USB port, or
bluetooth, or even IR (two of my old computers could do IR, though not
my current one). Perhaps you could then program them to do many more
things involving IR, like controlling a garage door. Basically,
increasing usefulness by not restricting the device to a single purpose,
and allowing the willing to use the technology as they like. Perhaps
some already do this.
For a brief while, I had
considered acquiring a Nintendo Wii U, as its game pad can operate as a
Universal Remote apparently. Unfortunately, IR isn't as popular as it
once was, or perhaps more smartphones would have IR
blasters/transmitters. I feel like installing an app to your phone to
use it as a remote control for electronics would be very natural. I
haven't paid too much attention to new televisions, but since many of
them are basically a giant monitor with a tiny computer built in,
hopefully that's possible.
I basically enjoy
programmable devices that can be used for a broad range of functions,
rather than simply having single-purpose devices. I also enjoy open
devices where the user is allowed to go beyond the original intent. I
was thinking about how neat it would be if I had the equipment readily
available to reprogram existing universal remotes. I sort of expect it
might be possible to remove the casing and flash the ROM inside, if
there is one. I think that's why I've never gotten too in to hardware:
the cost of equipment. Software, thanks to Open Source, allows you to
go many places very inexpensively.
So, hooray for technology. Hooray for users. And hooray that my household can now switch content and be able to adjust for the shocking variations in volume. :)
2013-03-04
[Technology] HTML5, CSS, and the web of the future
So, I've been a bit too busy with my Masters to keep up with all the neat innovations happening everywhere, but Google has a recent blog post talking about some new stuff that Chrome is supporting, and I'm delighted by two of them.
Templates
Basically, you can include a snippet of HTML that won't be displayed; that way, the rest of your page can make use of it later when it wants to. So, for example, I might build a table in JavaScript, but I don't want to define the HTML for the rows in the JavaScript (because it's a bit clunky that way), so I get to write it naturally inside the template, and then just query for the row's template later, customise it, clone it, and append it. Yay.
In fact, I already basically do this by including elements whose display is set to hidden, so I guess this just more formal.
Calculations inside CSS!
Now attributes can be set to a value like "width: calc (100% - 10em);". I've been dying for something like this for a while. Currently, I just tamper with sizes with JavaScript once the page is loading
Templates
Basically, you can include a snippet of HTML that won't be displayed; that way, the rest of your page can make use of it later when it wants to. So, for example, I might build a table in JavaScript, but I don't want to define the HTML for the rows in the JavaScript (because it's a bit clunky that way), so I get to write it naturally inside the template, and then just query for the row's template later, customise it, clone it, and append it. Yay.
In fact, I already basically do this by including elements whose display is set to hidden, so I guess this just more formal.
Calculations inside CSS!
Now attributes can be set to a value like "width: calc (100% - 10em);". I've been dying for something like this for a while. Currently, I just tamper with sizes with JavaScript once the page is loading
Abonnieren
Posts (Atom)
Dieses Blog durchsuchen
Labels
#Technology
#GNOME
gnome
gxml
fedora
bugs
linux
vala
google
#General
firefox
security
gsoc
GUADEC
android
bug
xml
fedora 18
javascript
libxml2
programming
web
blogger
encryption
fedora 17
gdom
git
emacs
libgdata
memory
mozilla
open source
serialisation
upgrade
web development
API
Spain
containers
design
evolution
fedora 16
fedora 20
fedora 22
fedup
file systems
friends
future
glib
gnome shell
internet
luks
music
performance
phone
photos
php
podman
preupgrade
tablet
testing
typescript
yum
#Microblog
Network Manager
adb
apache
art
automation
bash
brno
catastrophe
css
data loss
debian
debugging
deja-dup
disaster
docker
emusic
errors
ext4
facebook
fedora 19
gee
gir
gitlab
gitorious
gmail
gobject
google talk
google+
gtk
html
libxml
mail
microsoft
mtp
mysql
namespaces
nautilus
nextcloud
owncloud
picasaweb
pitivi
ptp
python
raspberry pi
resizing
rpm
school
selinux
signal
sms
speech dispatcher
systemd
technology
texting
time management
uoguelph
usability
video
web design
youtube
#Tech
Air Canada
C
Electron
Element
Empathy
Europe
GError
GNOME 3
GNOME Files
Go
Google Play Music
Grimes
IRC
Mac OS X
Mario Kart
Memento
Nintendo
Nintendo Switch
PEAP
Selenium
Splatoon
UI
VPN
Xiki
accessibility
advertising
ai
albums
anaconda
anonymity
apple
ask
asus eee top
automake
autonomous automobiles
b43
backup
battery
berlin
bit rot
broadcom
browsers
browsing
canada
canadian english
cars
chrome
clarity
comments
communication
compiler
complaints
computer
computers
configuration
console
constructive criticism
cron
cropping
customisation
dataloss
dconf
debug symbols
design patterns
desktop summit
development
discoverability
distribution
diy
dnf
documentation
drm
duplicity
e-mail
efficiency
email
english
environment
estate
experimenting
ext3
fedora 11
festival
file formats
firejail
flac
flatpak
forgottotagit
freedom
friendship
fuse
galaxy nexus
galton
gay rights
gdb
german
germany
gimp
gio
gjs
gnome software
gnome-control-center
google assistant
google calendar
google chrome
google hangouts
google reader
gqe
graphviz
growth
gtest
gtg
gvfs
gvfs metadata
hard drive
hard drives
hardware
help
hp
humour
ide
identity
instagram
installation
instant messaging
integration
intel
interactivity
introspection
jabber
java
java 13
jobs
kernel
keyboard
language
language servers
languages
law
learning
lenovo
letsencrypt
libreoffice
librpm
life
livecd
liveusb
login
lsp
macbook
maintainership
mariadb
mario
matrix
memory leaks
messaging
mounting
mouse
netflix
new zealand
node
nodelist
numix
obama
oci
ogg
oggenc
oh the humanity
open
open standards
openoffice
optimisation
org-mode
organisation
package management
packagekit
paint shedding
parallelism
pdo
perl
pipelight
privacy
productivity
progress
progressive web apps
pumpkin
pwa
pyright
quality
recursion
redhat
refactoring
repairs
report
rhythmbox
rust
sandboxes
scheduling
screenshots
self-navigating car
shell
sleep
smartphones
software
software engineering
speed
sql
ssd
synergy
tabs
test
tests
themes
thesis
tracker
travel
triumf
turtles
tv
tweak
twist
typing
university
update
usb
user experience
valadoc
video editing
volunteering
vpnc
waf
warm
wayland
weather
web apps
website
wifi
wiki
wireless
wishes
work
xinput
xmpp
xorg
xpath
Powered by Blogger.