Nat  Grady

Nat Grady

1657614000

YakYak: Desktop Chat Client for Google Hangouts

YakYak

Desktop client for Google Hangouts (not Google Hangouts Chat, which is a different thing)

sshot

(This app is in no way associated with or endorsed by Google)

What does it do:

  • Send/receive chat messages
  • Send/receive SMS/MMS (Project Fi / Google Voice) -- basic functionality
  • Create/change conversations (rename, add people)
  • Leave/delete conversation
  • Notifications (using native OS notifications)
    • Toggle notifications on/off
  • Drag-drop, copy-paste or attach-button for image upload.
  • Hangupsbot sync room aware (no bot name, proper user pics)
  • Show inline images
  • Send presence/focus/typing/activeclient to behave like a proper client
  • History scrollback
  • Video/audio integration (open in chrome)
  • Focus/typing indications (mainly a design issue. keep it clean)
  • Offer alternative color schemes
  • Translations in 22 languages so far:
    • English / Portuguese (Portugal and Brazil) / French / Spanish / Czech / German / Polish / Russian / Hebrew / Ukrainian / Slovenian / Korean / Tamil / Romanian / Swedish / Japanese / Italian / Danish / Bengali / Slovak / Turkish / Arabic / Telugu / Finnish /Breton / Simplified chinese
    • We're looking for volunteers to translate the app to new languages

sshot1

sshot2

NOTE

Yakyak may show up as iOS Device and Google may alert you that "some iOS Device is trying to use your account". This is normal as yakyak is an unofficial client and it mimics the behaviour of an iOS device in order to establish a communication with Google Hangout APIs.

Credits

Main authors

Contributors

Developing

This is an open source project. Please help us!

It is written in coffeescript (nodejs) based on hangupsjs using trifl on top of electron (atom shell).

How can you help?

You can improve YakYak in many ways:

  • Core functionality
  • Interface (example: new themes only require choosing less than 20 colors)
  • Bug fixing
  • Translations (new translation only need 117 strings)

Send a pull request, start a conversation with a new issue or participate on a ongoing conversation.

Setup

Requirements:

  • Node.js (v4 or v6)
$ npm install
$ npm run gulp

Continuous build

$ npm run gulp watch

Run it

$ npm run electron app

Build Binaries for Deployment

Supported platforms: Windows (win32), Mac OS X (darwin), Linux (linux)

Suported architectures: 64-bits (x64), 32-bits (ia32)

# Building for all platforms and architectures
$ npm run deploy

# You can also build specific builds by using
#  deploy:<platform>-<architecture>
# example:
$ npm run deploy:darwin-x64

If you have fpm installed (gem install fpm), you can also build RPM, Deb, or Arch packages:

$ npm run deploy:linux-x64:rpm
$ npm run deploy:linux-x64:deb
$ npm run deploy:linux-x64:pacman

note: if you are building Windows binaries in Linux or Mac OS X, Wine (1.6 or higher) must be installed. It also requires a 32-bit Wine installation when building Windows 32-bit binary.

Install it

We provide prebuilt binaries for macOS, Linux 32 / 64 and Windows 32 / 64. This is the latest release

Check out our wiki for additional installation methods

We love bug reports!

Structure

LocationDescription
src/Is where sources live
src/ui/Holds renderer code (client side)
dist/Everything is compiled to this directory

Acknowledgement

  • All the users and developers of YakYak
  • "You wouldn't believe" as the 'new message' sound for some platforms and is licensed under CC

Author: Yakyak
Source Code: https://github.com/yakyak/yakyak 
License: MIT license

#electron #notifications #chat #client 

What is GEEK

Buddha Community

YakYak: Desktop Chat Client for Google Hangouts
Zachary Palmer

Zachary Palmer

1555901576

CSS Flexbox Tutorial | Build a Chat Application

Creating the conversation sidebar and main chat section

In this article we are going to focus on building a basic sidebar, and the main chat window inside our chat shell. See below.

Chat shell with a fixed width sidebar and expanded chat window

This is the second article in this series. You can check out the previous article for setting up the shell OR you can just check out the chat-shell branch from the following repository.

https://github.com/lyraddigital/flexbox-chat-app.git

Open up the chat.html file. You should have the following HTML.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Chat App</title>
    <link rel="stylesheet" type="text/css" media="screen" href="css/chat.css" />
</head>
<body>
    <div id="chat-container">
    </div>
</body>
</html>

Now inside of the chat-container div add the following HTML.

<div id="side-bar">
</div>
<div id="chat-window">
</div>

Now let’s also add the following CSS under the #chat-container selector in the chat.css file.

#side-bar {
    background: #0048AA;
    border-radius: 10px 0 0 10px;
}
#chat-window {
    background: #999;
    border-radius: 0 10px 10px 0;
}

Now reload the page. You should see the following:-

So what happened? Where is our sidebar and where is our chat window? I expected to see a blue side bar and a grey chat window, but it’s no where to be found. Well it’s all good. This is because we have no content inside of either element, so it can be 0 pixels wide.

Sizing Flex Items

So now that we know that our items are 0 pixels wide, let’s attempt to size them. We’ll attempt to try this first using explicit widths.

Add the following width property to the #side-bar rule, then reload the page.

width: 275px;

Hmm. Same result. It’s still a blank shell. Oh wait I have to make sure the height is 100% too. So we better do that too. Once again add the following property to the #side-bar rule, then reload the page.

height: 100%;

So now we have our sidebar that has grown to be exactly 275 pixels wide, and is 100% high. So that’s it. We’re done right? Wrong. Let me ask you a question. How big is the chat window? Let’s test that by adding some text to it. Try this yourself just add some text. You should see something similar to this.

So as you can see the chat window is only as big as the text that’s inside of it, and it is not next to the side bar. And this makes sense because up until now the chat shell is not a flex container, and just a regular block level element.

So let’s make our chat shell a flex container. Set the following display property for the #chat-window selector. Then reload the page.

display: flex;

So as you can see by the above illustration, we can see it’s now next to the side bar, and not below it. But as you can see currently it’s only as wide as the text that’s inside of it.

But we want it to take up the remaining space of the chat shell. Well we know how to do this, as we did it in the previous article. Set the flex-grow property to 1 on the #chat-window selector. Basically copy and paste the property below and reload the page.

flex-grow: 1;

So now we have the chat window taking up the remaining space of the chat shell. Next, let’s remove the background property, and also remove all text inside the chat-window div if any still exists. You should now see the result below.

But are we done? Technically yes, but before we move on, let’s improve things a little bit.

Understanding the default alignment

If you remember, before we had defined our chat shell to be a flex container, we had to make sure we set the height of the side bar to be 100%. Otherwise it was 0 pixels high, and as a result nothing was displayed. With that said, try removing the height property from the #side-bar selector and see what happens when you reload the page. Yes that’s right, it still works. The height of the sidebar is still 100% high.

So what happened here? Why do we no longer have to worry about setting the height to 100%? Well this is one of the cool things Flexbox gives you for free. By default every flex item will stretch vertically to fill in the entire height of the flex container. We can in fact change this behaviour, and we will see how this is done in a future article.

Setting the size of the side bar properly

So another feature of Flexbox is being able to set the size of a flex item by using the flex-basis property. The flex-basis property allows you to specify an initial size of a flex item, before any growing or shrinking takes place. We’ll understand more about this in an upcoming article.

For now I just want you to understand one important thing. And that is using width to specify the size of the sidebar is not a good idea. Let’s see why.

Say that potentially, if the screen is mobile we want the side bar to now appear across the top of the chat shell, acting like a top bar instead. We can do this by changing the direction flex items can flex inside a flex container. For example, add the following CSS to the #chat-container selector. Then reload the page.

flex-direction: column;

So as you can see we are back to a blank shell. So firstly let’s understand what we actually did here. By setting the flex-direction property to column, we changed the direction of how the flex items flex. By default flex items will flex from left to right. However when we set flex-direction to column, it changes this behaviour forcing flex items to flex from top to bottom instead. On top of this, when the direction of flex changes, the sizing and alignment of flex items changes as well.

When flexing from left to right, we get a height of 100% for free as already mentioned, and then we made sure the side bar was set to be 275 pixels wide, by setting the width property.

However now that we a flexing from top to bottom, the width of the flex item by default would be 100% wide, and you would need to specify the height instead. So try this. Add the following property to the #side-bar selector to set the height of the side bar. Then reload the page.

height: 275px;

Now we are seeing the side bar again, as we gave it a fixed height too. But we still have that fixed width. That’s not what we wanted. We want the side bar (ie our new top bar) here to now be 100% wide. Comment out the width for a moment and reload the page again.

So now we were able to move our side bar so it appears on top instead, acting like a top bar. Which as previously mentioned might be suited for mobile device widths. But to do this we had to swap the value of width to be the value of height. Wouldn’t it be great if this size was preserved regardless of which direction our items are flexing.

Try this, remove all widths and height properties from the #side-bar selector and write the following instead. Then reload the page.

flex-basis: 275px;

As you can see we get the same result. Now remove the flex-direction property from the #chat-container selector. Then once again reload the page.

Once again we are back to our final output. But now we also have the flexibility to easily change the side bar to be a top bar if we need to, by just changing the direction items can flow. Regardless of the direction of flex, the size of our side bar / top bar is preserved.

Conclusion

Ok so once again we didn’t build much, but we did cover a lot of concepts about Flexbox around sizing. 

#css #programming #webdev 

Google's TPU's being primed for the Quantum Jump

The liquid-cooled Tensor Processing Units, built to slot into server racks, can deliver up to 100 petaflops of compute.

The liquid-cooled Tensor Processing Units, built to slot into server racks, can deliver up to 100 petaflops of compute.

As the world is gearing towards more automation and AI, the need for quantum computing has also grown exponentially. Quantum computing lies at the intersection of quantum physics and high-end computer technology, and in more than one way, hold the key to our AI-driven future.

Quantum computing requires state-of-the-art tools to perform high-end computing. This is where TPUs come in handy. TPUs or Tensor Processing Units are custom-built ASICs (Application Specific Integrated Circuits) to execute machine learning tasks efficiently. TPUs are specific hardware developed by Google for neural network machine learning, specially customised to Google’s Machine Learning software, Tensorflow.

The liquid-cooled Tensor Processing units, built to slot into server racks, can deliver up to 100 petaflops of compute. It powers Google products like Google Search, Gmail, Google Photos and Google Cloud AI APIs.

#opinions #alphabet #asics #floq #google #google alphabet #google quantum computing #google tensorflow #google tensorflow quantum #google tpu #google tpus #machine learning #quantum computer #quantum computing #quantum computing programming #quantum leap #sandbox #secret development #tensorflow #tpu #tpus

Nat  Grady

Nat Grady

1657614000

YakYak: Desktop Chat Client for Google Hangouts

YakYak

Desktop client for Google Hangouts (not Google Hangouts Chat, which is a different thing)

sshot

(This app is in no way associated with or endorsed by Google)

What does it do:

  • Send/receive chat messages
  • Send/receive SMS/MMS (Project Fi / Google Voice) -- basic functionality
  • Create/change conversations (rename, add people)
  • Leave/delete conversation
  • Notifications (using native OS notifications)
    • Toggle notifications on/off
  • Drag-drop, copy-paste or attach-button for image upload.
  • Hangupsbot sync room aware (no bot name, proper user pics)
  • Show inline images
  • Send presence/focus/typing/activeclient to behave like a proper client
  • History scrollback
  • Video/audio integration (open in chrome)
  • Focus/typing indications (mainly a design issue. keep it clean)
  • Offer alternative color schemes
  • Translations in 22 languages so far:
    • English / Portuguese (Portugal and Brazil) / French / Spanish / Czech / German / Polish / Russian / Hebrew / Ukrainian / Slovenian / Korean / Tamil / Romanian / Swedish / Japanese / Italian / Danish / Bengali / Slovak / Turkish / Arabic / Telugu / Finnish /Breton / Simplified chinese
    • We're looking for volunteers to translate the app to new languages

sshot1

sshot2

NOTE

Yakyak may show up as iOS Device and Google may alert you that "some iOS Device is trying to use your account". This is normal as yakyak is an unofficial client and it mimics the behaviour of an iOS device in order to establish a communication with Google Hangout APIs.

Credits

Main authors

Contributors

Developing

This is an open source project. Please help us!

It is written in coffeescript (nodejs) based on hangupsjs using trifl on top of electron (atom shell).

How can you help?

You can improve YakYak in many ways:

  • Core functionality
  • Interface (example: new themes only require choosing less than 20 colors)
  • Bug fixing
  • Translations (new translation only need 117 strings)

Send a pull request, start a conversation with a new issue or participate on a ongoing conversation.

Setup

Requirements:

  • Node.js (v4 or v6)
$ npm install
$ npm run gulp

Continuous build

$ npm run gulp watch

Run it

$ npm run electron app

Build Binaries for Deployment

Supported platforms: Windows (win32), Mac OS X (darwin), Linux (linux)

Suported architectures: 64-bits (x64), 32-bits (ia32)

# Building for all platforms and architectures
$ npm run deploy

# You can also build specific builds by using
#  deploy:<platform>-<architecture>
# example:
$ npm run deploy:darwin-x64

If you have fpm installed (gem install fpm), you can also build RPM, Deb, or Arch packages:

$ npm run deploy:linux-x64:rpm
$ npm run deploy:linux-x64:deb
$ npm run deploy:linux-x64:pacman

note: if you are building Windows binaries in Linux or Mac OS X, Wine (1.6 or higher) must be installed. It also requires a 32-bit Wine installation when building Windows 32-bit binary.

Install it

We provide prebuilt binaries for macOS, Linux 32 / 64 and Windows 32 / 64. This is the latest release

Check out our wiki for additional installation methods

We love bug reports!

Structure

LocationDescription
src/Is where sources live
src/ui/Holds renderer code (client side)
dist/Everything is compiled to this directory

Acknowledgement

  • All the users and developers of YakYak
  • "You wouldn't believe" as the 'new message' sound for some platforms and is licensed under CC

Author: Yakyak
Source Code: https://github.com/yakyak/yakyak 
License: MIT license

#electron #notifications #chat #client 

Servo Node

Servo Node

1622655227

Install Wordpress Desktop Client In Ubuntu/Debian › Servo Node

In this tutorial, we are going to discuss how to install WordPress Desktop Client In Ubuntu/Debian Linux distributions. Using this app, one can easily access their WordPress.com blogs or self hosted websites as well, without logging directly to their blog.

What is WordPress Desktop Client?

WordPress Desktop Client is basically an app, developed by a company named Automattic, that is owned by co-founder of WordPress, Matt Mullenweg. More precisely, this is the same company who developed Jetpack and WordPress.com.

With the help of this application, a use can experience improved features for self-hosted websites. It offers a distraction free editor on your screen to create new contents. However, it has some limitations as well. Take a look through its advantages and disadvantages:

Advantages:

Offers a great GUI to manage your WordPress site.
Offers great content creation experience along with allowing fast content synchronization.
Distraction free editor to create content.
Offers several website management features to manage your website without using browsers.

Disadvantages:

Requires internet connection to work, so no option to work offline.
Custom fields created by installed plugins won’t appear here.
Needs to install JetPack plugin and WordPress.com account to access self hosted websites.

#install wordpress desktop client linux #install wordpress desktop client ubuntu #install wordpress desktop client debian

What Are Google Compute Engine ? - Explained

What Are Google Compute Engine ? - Explained

The Google computer engine exchanges a large number of scalable virtual machines to serve as clusters used for that purpose. GCE can be managed through a RESTful API, command line interface, or web console. The computing engine is serviced for a minimum of 10-minutes per use. There is no up or front fee or time commitment. GCE competes with Amazon’s Elastic Compute Cloud (EC2) and Microsoft Azure.

https://www.mrdeluofficial.com/2020/08/what-are-google-compute-engine-explained.html

#google compute engine #google compute engine tutorial #google app engine #google cloud console #google cloud storage #google compute engine documentation